EAの成績が悪化する理由|相場環境・スプレッド・約定・設定差を確認する方法
EA(Expert Advisor)を継続して確認していると、「以前はバックテストやフォワード実績が安定していたのに、最近は成績が悪くなった」と感じることがあります。
ただし、成績が悪化したように見えるからといって、すぐに「EAが使えなくなった」「ロジックが壊れた」と判断することはできません。
短期間の連敗、相場環境の変化、ボラティリティ、スプレッド、手数料、スリッページ、Brokerや口座仕様、EA Version、setファイル、VPS、サーバー時間など、結果に影響する条件は複数あります。
また、過去データへ強く適合した設定では、バックテスト期間では良好でも、別期間や実時間で同じ特徴が続かないことがあります。
この記事では、EAの成績が以前より悪化した時に、「何が変わったのか」を確認する順番を整理します。特定のEAや売買方法の継続・停止を推奨するものではなく、MT5上の検証条件、公開実績、ログ、環境差を確認するための技術記事です。
- 短期的な連敗と長期的な変化を分ける
- Net ProfitだけでなくPF・DD・Equity・Trade Countを見る
- 相場環境とStrategyの関係を確認する
- Spread・Commission・Slippageなど取引コストを確認する
- Broker・Account Type・Symbol Specificationを確認する
- EA Version・setファイル・Input変更を確認する
- 原因を確認する前にParameterを変更し続けない
- EAの成績悪化は1つの原因で決まらない
- まず「何が悪化したのか」を確認する
- 短期的な不調と構造的な変化を分ける
- 原因1|相場環境が変わった
- Strategyタイプによって影響は異なる
- 原因2|Spread・Commission・Swapが変わった
- 原因3|Slippage・約定条件が変わった
- 原因4|Broker・Account Type・Symbol仕様が変わった
- 原因5|EA Version・setファイル・Inputが変わった
- 原因6|VPS・通信・Server Timeなど運用環境が変わった
- BalanceではなくEquity側で悪化していないか
- ナンピン・Grid EAではPosition構造を見る
- Backtest・Forward・現在実績を同じ項目で比較する
- 過剰最適化を疑う時
- 成績が落ちた直後に再最適化を急がない理由
- 比較する時は条件をできるだけ固定する
- GOLD / XAUUSD EAでは値幅とExecutionを追加確認する
- 以前の結果を残しておくと原因を比較しやすい
- EA成績悪化の確認チェック表
- よくある質問
- 関連ページ
- 参考にした公式情報
- まとめ
- お問い合わせはEAFC公式LINEへ
EAの成績悪化は1つの原因で決まらない
EAの結果が悪化した場合、原因を最初から1つに決めないことが重要です。
| 分類 | 主な変化 | 確認するもの |
|---|---|---|
| 統計上の変動 | 連敗、停滞、短期DD | 期間、Trade Count、過去の損益分布 |
| 相場環境 | Trend / Range、Volatility、時間帯 | Market Regime、ATR、値幅、取引時間 |
| Execution | Spread、Commission、Slippage | 取引履歴、Broker条件、ログ |
| 環境 | Broker、Account、VPS、Server Time | 現在環境と過去環境の差 |
| EA設定 | Version、set、Input変更 | EAファイル、設定Snapshot |
| 検証設計 | Overfitting、特定期間依存 | OOS、Forward、Parameter Sensitivity |
「最近負けている」という事実だけから、どの分類が原因かを判断することはできません。まず結果の変化を数値で確認し、その後に条件差を探します。
まず「何が悪化したのか」を確認する
成績が悪化したと感じた場合、最初に比較したいのは最終利益だけではありません。
| 指標 | 確認する変化 |
|---|---|
| Net Profit | 一定期間の最終損益がどう変化したか |
| Profit Factor | 総利益と総損失の関係が変わったか |
| Drawdown | 資産の下落幅が拡大していないか |
| Trade Count | 取引頻度そのものが変わっていないか |
| Win Rate | 勝敗回数の比率が変化したか |
| Average Profit / Loss | 1取引あたりの損益構造が変わったか |
| Balance / Equity | 未決済損益を含めた資産推移に差がないか |
| Holding Time | 保有時間が長期化・短期化していないか |
バックテストレポートの各項目については、EAのバックテストレポートとは|損益・PF・DD・取引回数の見方で確認できます。
短期的な不調と構造的な変化を分ける
数回の連敗や短期間のマイナスだけでは、EAの特性自体が変化したとは判断できません。
取引にはばらつきがあるため、一定数の負けが連続することがあります。一方、取引頻度、平均損失、Drawdown、Holding Timeなど複数の特徴が以前と継続的に変化している場合は、条件差を詳しく確認する材料になります。
| 確認状態 | 見るポイント |
|---|---|
| 数回だけ連敗 | 過去にも同程度の連敗が存在したか |
| Trade Countが減少 | Entry条件が成立しにくくなっていないか |
| 平均損失が拡大 | Spread・Slippage・Holding Timeを確認する |
| DDが継続的に拡大 | Market RegimeやPosition構造を確認する |
| Equityだけ悪化 | 未決済PositionとFloating Lossを確認する |
| 複数期間で特徴が変化 | 相場・Execution・設定差を比較する |
期間だけではなくTrade Countも合わせて確認します。低頻度EAでは数か月経過していても取引Sampleが少ない場合があります。
原因1|相場環境が変わった
EAは、すべてのMarket Regimeで同じ特徴になるとは限りません。
Trendが継続しやすい期間、Rangeが続く期間、Volatilityが低い期間、急激に値幅が拡大する期間では、同じEntry・Exit条件でも取引頻度や損益分布が変わる場合があります。
| 相場環境 | 確認する変化 |
|---|---|
| Trend | 一方向の値動きが継続する時間や距離 |
| Range | 方向性が続かず反転が増えていないか |
| Low Volatility | 値幅不足によりEntryやTP到達が減っていないか |
| High Volatility | SL到達、Spread拡大、Slippageが増えていないか |
| Session変化 | EAが取引する時間帯の値動きが変化していないか |
| 急変局面 | 通常時とは異なる値幅やExecutionが発生していないか |
ボラティリティの基本は、ボラティリティ・ATRとは|GOLD / XAUUSD EAで値幅を確認する基本用語で整理しています。
Strategyタイプによって影響は異なる
相場環境の変化がどのように表れるかは、EAのStrategyによって異なります。
| Strategy | 確認したい変化 |
|---|---|
| Trend Following | Trend継続時間、False Signal、Range期間 |
| Breakout | Break後の伸び、False Break、Volatility |
| Scalping | Spread、Commission、Slippage、約定速度 |
| Mean Reversion | 反転せず一方向へ動く局面の増加 |
| Nanpin / Grid | 逆行距離、Position数、総Lot、Equity DD |
Trend FollowingとBreakoutの特徴は、トレンドフォロー・ブレイクアウトEAの記事、ScalpingについてはゴールドスキャルピングEAの記事でも確認できます。
原因2|Spread・Commission・Swapが変わった
EA本体が同じでも、取引コストが変われば最終結果は変化します。
特に1取引あたりの利益幅が小さいStrategyでは、SpreadやCommissionの影響が相対的に大きくなります。
| コスト | 確認する内容 |
|---|---|
| Spread | 平均値だけでなく取引時刻のSpreadを確認する |
| Commission | Account Type変更や料金体系の差を確認する |
| Swap | 長期保有EAでは保有日数とSwap条件を見る |
| Currency Conversion | 口座通貨と損益通貨が異なる場合の条件を見る |
以前と現在を比較する場合は、同じBroker名だけでなくAccount Typeや取引条件まで確認します。
原因3|Slippage・約定条件が変わった
リアル環境では、EAが要求した価格と実際の約定価格が完全に同じになるとは限りません。
MetaTrader 5のStrategy TesterにもExecution Delayを模擬する機能がありますが、実環境ではTrade Server、通信、Liquidityなど複数の条件が関係します。
| Execution項目 | 比較内容 |
|---|---|
| Requested Price | EAが発注を要求した価格 |
| Fill Price | 実際に約定した価格 |
| Slippage | 要求価格と約定価格の差 |
| Execution Time | 発注から約定までの時間差 |
| Rejected / Failed | 注文失敗やTrade Retcodeの増加 |
BacktestとRealのExecution差そのものを詳しく調べる場合は、MT5でバックテストとリアル運用の違いを確認することを参照してください。
原因4|Broker・Account Type・Symbol仕様が変わった
「同じMT5」「同じEA」であっても、BrokerやAccount Type、Symbol Specificationが変わると、EAが参照する条件も変化する場合があります。
| 項目 | 確認する内容 |
|---|---|
| Symbol Name | XAUUSD、XAUUSDmなど名称・suffixの違い |
| Digits / Point | 価格桁数と距離計算 |
| Tick Size | 最小価格変動単位 |
| Tick Value | 価格変動に対する損益換算 |
| Contract Size | 1Lotあたりの契約数量 |
| Minimum / Step | 最小LotとLot刻み |
| Stops Level | SL / TPやPending Order距離制限 |
| Trading Hours | 取引可能時間と休止時間 |
以前と現在でBrokerや口座を変更している場合は、成績だけを直接比較せず、Symbol Specificationも記録しておくと差を確認しやすくなります。
原因5|EA Version・setファイル・Inputが変わった
「同じEAを使っている」だけでは、同じ条件で動いているとは限りません。
EA更新によってEntry Filter、Exit、Risk Control、Spread Filter、取引時間などが変更されている場合があります。また、setファイルや一部Inputだけが変わっている場合もあります。
| 比較項目 | 確認例 |
|---|---|
| EA Version | 以前と現在のVersion・更新日 |
| setファイル | ファイル名・保存日時・用途 |
| Lot | 固定Lot・自動Lotなどの設定差 |
| Maximum Positions | 同時保有数の変更 |
| Trading Hours | 開始・終了時間の変更 |
| Spread Filter | Entryを許可するSpread条件 |
| SL / TP | 距離・方式の変更 |
| Other Filters | Trend、Volatility、News等の条件差 |
setファイルを使った設定再現については、setファイルとは|EA設定を保存・比較・再現するための基本用語も確認してください。
原因6|VPS・通信・Server Timeなど運用環境が変わった
EAのロジックではなく、MT5を動かしている環境が変化している場合もあります。
| 環境 | 確認すること |
|---|---|
| VPS | 再起動、停止、CPU・Memory不足 |
| Network | 切断、遅延、接続先Server |
| MT5 Build | Platform更新前後の状態 |
| Server Time | 取引時間Filterとの整合 |
| AutoTrading | 自動売買許可状態 |
| External Service | WebRequest、API、通知、外部データ |
| Logs | Experts / JournalのError・Block理由 |
「成績が悪くなった」のではなく、一部のEntryが実行されていない、EAが停止している、Filterで見送られているといったケースもあるため、ログ確認を分けて行います。
BalanceではなくEquity側で悪化していないか
確定損益だけを見ると、現在抱えているRiskを見落とす場合があります。
Balanceは決済済み損益を反映しますが、EquityはOpen Positionの含み損益も反映します。
| 状態 | 確認内容 |
|---|---|
| BalanceとEquityが近い | 未決済損益による乖離が小さいか |
| Equityが大きく低下 | Floating Lossを抱えていないか |
| Balanceだけ上昇 | 利益Positionだけ決済し損失Positionが残っていないか |
| Equity DDが拡大 | Position量や逆行距離が増えていないか |
Drawdownの考え方は、ドローダウンとは|EAバックテスト・運用中に確認する資金の落ち込みで詳しく確認できます。
ナンピン・Grid EAではPosition構造を見る
ナンピン・Grid系では、1回ごとの勝敗よりBasket全体の状態が重要になります。
| 確認項目 | 以前との比較 |
|---|---|
| Maximum Positions | 最大保有数が増えていないか |
| Total Volume | Basket全体のLotが増えていないか |
| Entry Distance | 追加Entryまでの値幅が現在相場に合っているか |
| Holding Time | Basket解消までの時間が長くなっていないか |
| Floating Loss | 最大含み損が拡大していないか |
| Equity DD | 未決済損失を含むDDが変化していないか |
勝率が高いままでも、最大Position数、Total Volume、Equity Drawdownが拡大していればRisk構造は以前と同じとは限りません。
Backtest・Forward・現在実績を同じ項目で比較する
原因を確認する時は、Backtest、Forward、現在のLive / Demo結果を別々の指標で見るのではなく、できるだけ同じ項目で並べます。
| 比較項目 | Backtest | Forward | 現在 |
|---|---|---|---|
| Period | 検証期間 | Forward期間 | 現在の比較期間 |
| Trade Count | 取引回数 | 取引回数 | 取引回数 |
| PF | 過去結果 | 別期間結果 | 現在結果 |
| Drawdown | 過去DD | Forward DD | 現在DD |
| Holding Time | 過去平均 | Forward平均 | 現在平均 |
| Spread / Cost | テスト条件 | 検証条件 | 実際の条件 |
| Version / set | 使用版 | 使用版 | 現在版 |
フォワード実績の読み方は、EAフォワードテスト完全ガイドで詳しく整理しています。
過剰最適化を疑う時
Backtestでは非常に良いのに、Forwardや別期間で大きく特徴が変わる場合、過去データへのParameter fittingも確認対象になります。
MetaTrader 5のForward Testは、Optimization期間とは別の後半期間で候補Parameterを再確認するための機能です。
ただし、最近の成績が悪いという理由だけで「過剰最適化だった」と断定することはできません。Market Regime、Execution、Version、Settingsなど他の条件も変化している可能性があります。
Optimizationと再現条件の記録については、MQL5バックテスト実務ノート|検証条件・最適化・リアル差分を記録する考え方も確認してください。
成績が落ちた直後に再最適化を急がない理由
直近の成績が悪化した場合、すぐに最近の相場へParameterを合わせ直したくなることがあります。
しかし、原因を確認しないまま直近期間だけに合わせて設定を変更すると、その期間への新たな過適合を作る可能性があります。
先に「Strategy特性が変化したのか」「Execution条件が変わったのか」「Versionやsetが違うのか」「短期的な損益変動なのか」を確認し、その後に検証設計を考えます。
EAFCでは、特定のParameterやLotを推奨するのではなく、変更前後の条件を記録し、比較できる状態を作ることを重視します。
比較する時は条件をできるだけ固定する
成績変化を調べる時に複数の条件を同時に変更すると、何が結果へ影響したのか分かりにくくなります。
| 固定・記録したい条件 | 目的 |
|---|---|
| EA Version | ロジック変更を混同しない |
| setファイル | Parameter差を混同しない |
| Symbol | 銘柄差を混同しない |
| Timeframe | Signal判定周期を固定する |
| Broker / Account | Execution仕様差を確認する |
| Period | 比較対象期間を明確にする |
| Spread / Costs | 取引コスト差を記録する |
| Logs | Signal・Block・Order結果を追えるようにする |
GOLD / XAUUSD EAでは値幅とExecutionを追加確認する
GOLD / XAUUSD対応EAでは、相場の値幅だけでなくBroker側のSymbol SpecificationやSpreadも合わせて確認します。
同じXAUUSDでもBrokerやAccount Typeにより、Digits、Tick Size、Contract Size、最低Lot、Spread、Trading Hoursなどが異なる場合があります。
以前より成績が悪くなった場合は、Strategyが想定する値幅と現在のVolatility、Entry時Spread、Holding Time、最大DDなどを並べて確認します。
GOLD EA全体のStrategy・Execution・Riskについては、ゴールドEA徹底研究|GOLD/XAUUSDの戦略・検証・リスクで整理しています。
以前の結果を残しておくと原因を比較しやすい
成績悪化を調べるには、「以前はどうだったか」を確認できる記録が必要です。
| 保存するもの | 主な用途 |
|---|---|
| Backtest Report | 過去の統計・DD・Trade Count |
| Forward Report | 別期間の結果 |
| setファイル | Input再現 |
| EA Version | 更新前後の比較 |
| Experts / Journal Logs | 処理理由・Order結果 |
| Broker / Symbol情報 | Execution条件の比較 |
| 期間メモ | どのMarket Regimeで確認したか |
「以前は良かった」という記憶だけではなく、同じ指標・同じ条件で比較できる資料を残しておくことで、変化を確認しやすくなります。
EA成績悪化の確認チェック表
| No. | 確認項目 | 確認 |
|---|---|---|
| 1 | 比較期間を固定した | □ |
| 2 | Trade Countを確認した | □ |
| 3 | PF・DD・平均損益を比較した | □ |
| 4 | BalanceとEquityを分けて見た | □ |
| 5 | Market Regime・Volatilityを確認した | □ |
| 6 | Spread・Commission・Swapを確認した | □ |
| 7 | Slippage・Order結果を確認した | □ |
| 8 | Broker・Account Typeを確認した | □ |
| 9 | Symbol Specificationを確認した | □ |
| 10 | EA Versionを確認した | □ |
| 11 | setファイル・Inputを確認した | □ |
| 12 | VPS・通信・Server Timeを確認した | □ |
| 13 | Experts / Journalログを確認した | □ |
| 14 | Backtest・Forward・現在結果を比較した | □ |
| 15 | 原因確認前に設定を変更し続けていない | □ |
よくある質問
EAが最近負けている場合、もう使えないということですか?
短期間の損益だけでは判断できません。期間、Trade Count、Drawdown、Market Regime、Execution条件、EA Versionなどを確認し、以前と何が変わったかを整理します。
相場環境が変わるとEAの成績も変わりますか?
変わる場合があります。Trend、Range、Volatility、時間帯などの特徴が変化すると、EAのSignal成立数、Holding Time、SL / TP到達なども変化する可能性があります。
Spreadが少し広がっただけでも影響しますか?
Strategyによります。1取引あたりの期待値幅が小さいScalpingなどでは、SpreadやCommissionの変化が相対的に大きくなる場合があります。
バックテストが良ければ現在の成績悪化は一時的ですか?
バックテストが良いことだけでは判断できません。過去期間と現在では相場環境やExecution条件が異なり、過去データへのParameter fittingが含まれる可能性もあるため、Forwardや現在結果と比較します。
成績が悪くなったらすぐ再最適化した方がよいですか?
原因を確認せず直近期間だけにParameterを合わせると、別の期間への適合が強くなる可能性があります。まず相場、Execution、Version、設定、ログなどの条件差を確認します。
EAを更新した後に成績が変わった場合は何を見ますか?
Version、更新内容、setファイル、Input、Entry / Exit、Risk Control、Spread Filterなどを比較します。更新前後で同じEA名でも処理条件が異なる場合があります。
Balanceが増えていれば問題ありませんか?
Balanceだけでは未決済損益を確認できません。Equity、Open Positions、Floating Loss、Equity Drawdownなども合わせて確認します。
過剰最適化かどうかはどう確認しますか?
Optimizationに使っていない期間でのOOS / Forward結果、Parameterを少し変えた場合の変化、異なるMarket Regimeでの結果などを確認します。
過剰最適化、Curve Fitting、OOS、Forward Test、Parameter Sensitivity、Walk Forward、Robustnessの確認方法は、EAの過剰最適化とは?カーブフィッティングをOOS・Forward・パラメータ感度で確認する方法で詳しく整理しています。
関連ページ
| 確認したい内容 | 関連ページ |
|---|---|
| EA選び全体を確認する | EAの選び方完全ガイド |
| Forward実績を確認する | EAフォワードテスト完全ガイド |
| BacktestとRealの違いを見る | MT5でバックテストとリアル運用の違いを確認すること |
| Backtest Reportを読む | EAのバックテストレポートとは |
| 検証条件・Optimizationを記録する | MQL5バックテスト実務ノート |
| Drawdownを確認する | ドローダウンとは |
| Volatilityを確認する | ボラティリティ・ATRとは |
| GOLD EA全体を確認する | ゴールドEA徹底研究 |
| Trend / Breakout EAを確認する | トレンドフォロー・ブレイクアウトEA |
| Scalping EAを確認する | ゴールドスキャルピングEA |
参考にした公式情報
EAのBacktest、Optimization、Forward、Testing Report、取引履歴・取引レポートの確認についてはMetaTrader 5およびMQL5の公式情報を参照しています。
- MetaTrader 5 ヘルプ:ストラテジーテスト
- MetaTrader 5 ヘルプ:ストラテジーの最適化
- MetaTrader 5 ヘルプ:テストレポート
- MetaTrader 5 ヘルプ:取引レポート
- MQL5:Robustness Testing on Expert Advisors
まとめ
EAの成績が以前より悪化した場合は、最初からEA本体だけを原因と考えず、何が変化したのかを順番に確認します。
まず、Net Profitだけでなく、Trade Count、PF、Drawdown、Balance、Equity、Holding Timeなどを比較します。そのうえで、Market Regime、Volatility、Spread、Commission、Slippage、Broker・Account Type、Symbol Specification、EA Version、setファイル、VPS、Server Time、ログを確認します。
Backtest・Forward・現在実績を同じ指標で並べると、「結果が悪くなった」という状態から、「どの条件が変わったのか」という確認へ進みやすくなります。
最近の結果が悪いという理由だけで過剰最適化と断定したり、原因確認前にParameterを変更し続けたりせず、比較条件と記録を残しながら検証することが重要です。
お問い合わせはEAFC公式LINEへ
EAFCサイト内の記事、商品、導入前確認、設定確認、ログ確認、開発依頼前のご相談など、各種お問い合わせはEAFC公式LINEより受け付けています。
※投資助言、売買指示、利益保証、推奨ロット、推奨銘柄の案内は行っておりません。
口座番号、認証情報、Webhook URL、GAS URL、APIキーなどの機密情報は送信しないでください。
