バックテストと実際の結果が違う理由|データ・コスト・約定の確認
当サイトはアフィリエイト広告を利用しています。
- 01データ
モデルと価格履歴の違い。
- 02費用
スプレッド・手数料・スワップ。
- 03約定
注文結果と実際の価格を照合。
理解のための概念図です。実際の操作画面や取引実績を示す画像ではありません。
同じEAと設定でも、バックテストとデモ・実口座の結果が一致するとは限りません。違いを調べるときは、結果全体を眺めるだけでなく、「同じ時刻に条件が成立したか」「同じ注文が出たか」「どの価格で約定したか」を順に比べます。
まずEAと設定が同じか確認する
EAのファイル名が同じでも、中身のバージョンが異なることがあります。使用ファイル、入力設定、銘柄名、時間足、口座、サーバー時刻の基準を記録します。EAが参照する別の時間足や外部インジケーターも比較対象です。
実ティックと生成ティックを区別する
MT5には実ティックを使うモデルと、分足データなどからティックを生成するモデルがあります。実ティックの設定でも、分足はあるがティックが不足する区間では生成される場合があります。「実ティックを選んだ」という設定だけでなく、取得状況とログの確認が必要です。公式の実ティック・生成ティック解説を参照してください。
足の途中でエントリーや損切りを判定するEAは、1本の足の高値・安値だけでは、その到達順序を復元できません。簡略化したモデルの結果を使う場合は、何を省略した検証なのかを記録します。
スプレッドと費用の条件をそろえる
チャートの見た目が似ていても、BidとAskの差が違えば新規注文や決済の価格も変わります。固定スプレッドの検証と、時間によって変動する環境は区別します。手数料、スワップ、口座通貨への換算も確認してください。
MT5のpipsでの利益計算は、詳細な費用や証拠金の検証とは別の簡易的な用途です。公式ヘルプでは、このモードではスワップ・手数料計算と証拠金管理が省略されると説明されています。最終比較には適切な詳細設定を使いましょう。公式のテスト設定解説
注文価格と約定価格を分けて記録する
テストで想定した価格に対し、実環境では通信、サーバー処理、流動性などの条件が関係します。注文が拒否されたり、想定した価格と異なる価格で約定したりした場合は、EAが注文を出さなかったケースと分けて集計します。
ストップロスに達したときの値動きが急であれば、指定した水準と決済価格の差も確認します。テスターの遅延設定で一部の条件を検討できても、すべての実環境を再現できるとは限りません。
差が出た1件を追いかける
- 同じ銘柄と時刻のチャートをそろえる。
- EAが参照した価格やインジケーター値を確認する。
- 売買条件が成立したかを確認する。
- 注文要求と受付結果のログを確認する。
- 約定価格・数量・費用・決済理由を比較する。
この順番なら、データ差、判定差、注文差、約定差のどこから結果が分かれたかを整理できます。複数の設定を一度に変えず、変更前のファイルと結果を残しましょう。
別期間の検証とデモ観察を続ける
調整に使った期間だけで良い結果を出すと、過去への合わせ込みになっている可能性があります。設定を固定して別期間で調べる検証と、その後のデモ観察を組み合わせます。結果には「バックテスト」「デモ」「実口座」の別を明記し、混ぜて実績として紹介しないことが大切です。
関連:バックテストレポートの読み方/EAの動作確認/デモでの注文練習
資料確認日:2026年9月13日。画面・取引条件は変更される場合があります。実際の利用時は公式案内とご自身の口座の表示をご確認ください。