MT5バックテストのやり方|EA検証前に確認する設定・スプレッド・結果の見方
MT5バックテストとは、過去データを使ってEAの動作を確認するための検証機能です。
EAを使う前や、既存EAを改修する前、設定変更を確認する前に、バックテストでエントリー、決済、ログ、setファイル、スプレッド、検証期間などを整理しておくと、動作確認や相談が進めやすくなります。
ただし、バックテストは過去データに対する確認であり、将来の結果、利益、勝率、損失回避を保証するものではありません。バックテスト結果は、EAの動作確認、条件確認、不具合切り分け、相談前整理のための資料として扱う必要があります。
この記事では、MT5バックテストの基本、EA検証前に確認する設定、スプレッド、ヒストリカルデータ、setファイル、結果の見方、相談前に整理する情報をまとめます。
この記事で確認すること
- MT5バックテストとは何か
- バックテスト前に確認するEA・銘柄・時間足・期間
- ストラテジーテスターの基本手順
- スプレッド・ヒストリカルデータ・setファイルの確認
- バックテスト結果で見る項目
- バックテストとリアル運用が違う理由
- 相談前に整理する資料
- よくある失敗例と確認順
MT5バックテストとは
過去データを使ってEAの動作を確認する機能
MT5バックテストは、ストラテジーテスターを使って、過去の価格データ上でEAの動作を確認する機能です。
バックテストでは、指定した銘柄、時間足、期間、setファイル、初期証拠金、スプレッド条件などをもとに、EAがどのように注文・決済したかを確認できます。
| 確認項目 | 内容 | 確認する理由 |
|---|---|---|
| 対象EA | テストするEA名・バージョン | 別EAや旧版との混同を防ぐため |
| 銘柄 | GOLD、USDJPY、XAUUSDcなど | 銘柄名や条件差を確認するため |
| 時間足 | M1、M5、M15、H1など | EAの想定時間足と合わせるため |
| 期間 | 開始日・終了日 | 検証対象を明確にするため |
| setファイル | Inputs設定 | 同じ条件を再現するため |
バックテストで分かること
バックテストでは、EAが指定条件下でどのように動作したかを確認できます。
- 指定期間でエントリーしたか
- 決済条件が動作したか
- 注文エラーが出ていないか
- setファイルの設定が反映されているか
- スプレッドや時間条件で止まっていないか
- 想定外のログやエラーがないか
- 取引回数や保有時間に偏りがないか
バックテストは、EAの動作確認や改修前後の比較に役立ちます。特に、設定変更、パラメータ変更、ログ追加、決済処理の確認では、同じ条件でテストできることが重要です。
バックテストだけでは分からないこと
バックテストでは確認できることが多い一方、リアル運用と完全に同じ環境ではありません。
| バックテストで見やすいこと | バックテストだけでは判断しにくいこと |
|---|---|
| 過去データ上の注文・決済 | リアルタイムの約定差やスリッページ |
| setファイルの反映確認 | VPSや通信環境の影響 |
| エントリー条件の成立確認 | 実際のスプレッド急拡大 |
| 決済ロジックの確認 | 外部連携や通知のリアル環境差 |
| ログ出力の確認 | ブローカー側のリアル約定条件 |
そのため、バックテスト結果は将来の成果を判断する材料ではなく、検証条件と動作を整理するための資料として扱ってください。
バックテスト前に確認すること
対象EA
バックテストを始める前に、対象EAを確認します。
- EA名
- EAファイル名
- バージョン
- 検証用版か通常版か
- 更新前か更新後か
- 同名の旧ファイルが残っていないか
EAを更新・差し替えした直後は、旧ファイルをテストしてしまうことがあります。テスト前にファイル名とバージョンを確認してください。
銘柄
バックテストでは、テストする銘柄を明確にします。
同じゴールド系、同じ通貨ペアでも、ブローカーや口座種別によって銘柄名が異なる場合があります。
- EAが想定している銘柄か
- 銘柄名にサフィックスが付いていないか
- ヒストリカルデータが取得されているか
- 小数桁や最小ロットが想定と異ならないか
時間足
EAによっては、特定の時間足を前提にしている場合があります。
- EAの想定時間足と一致しているか
- setファイルが時間足に合っているか
- 複数時間足を参照するEAか
- 上位足データが取得できているか
時間足が違うと、エントリー回数、決済条件、ログ出力、バックテスト速度が変わる場合があります。
期間
テスト期間は、バックテスト結果を確認するうえで重要です。
- 開始日
- 終了日
- テスト期間が短すぎないか
- 大きな相場変動が含まれているか
- 年末年始や休場期間を含むか
短い期間だけを見ると、取引回数や条件成立回数が少なく、動作確認が不十分になる場合があります。
初期証拠金
バックテストでは、初期証拠金を設定します。
初期証拠金は、注文可否、証拠金維持、ドローダウン表示などに影響します。
- 初期証拠金を記録したか
- 口座通貨を確認したか
- 実際の環境と比較する場合、条件差を理解しているか
初期証拠金は特定の金額を推奨するものではなく、テスト条件を再現するために記録する項目です。
スプレッド
スプレッドは、バックテスト結果に大きく影響することがあります。
- 固定スプレッドか
- 現在値を使う設定か
- 実際の取引環境と差がないか
- EA側にスプレッド制限があるか
- スプレッド拡大時の挙動を確認したいか
スプレッド条件が違うと、エントリー回数、決済結果、注文ブロック、損益表示が変わることがあります。
setファイル
setファイルは、EAのInputs設定を保存したファイルです。
同じEAでも、setファイルが違えば、エントリー条件、ロット、稼働時間、決済条件、ログ出力、通知設定が変わります。
- 使用したsetファイル名を記録したか
- 検証用setか実運用用setか分かるか
- 変更前後のsetを保存したか
- 外部URLや認証情報の実値が含まれていないか
setファイルについては、次の記事も参考になります。
MT5バックテストの基本手順
ストラテジーテスターを開く
MT5のバックテストは、ストラテジーテスターから実行します。
まず、MT5上でストラテジーテスターを開き、テスト対象を設定します。
- ストラテジーテスターを表示する
- テスト対象をEAにする
- 対象EAを選択できる状態にする
- 必要に応じてナビゲーターを更新する
EAを選択する
次に、テストするEAを選択します。
EAが表示されない場合は、配置フォルダ、ファイル形式、MT5の再起動、ナビゲーター更新を確認してください。
| 表示されない原因 | 確認場所 |
|---|---|
| EAファイルの配置違い | MQL5 / Experts |
| MT5用ではないファイル | ex5 / mq5 の形式 |
| コンパイルエラー | MetaEditor、Expertsログ |
| ナビゲーター未更新 | MT5再起動、更新 |
銘柄と時間足を選ぶ
EAを選択したら、銘柄と時間足を選びます。
この時、EAの想定銘柄と時間足が合っているかを確認します。
- 対象銘柄が合っているか
- 時間足が合っているか
- ヒストリカルデータがあるか
- 別口座・別環境の銘柄名と混同していないか
モデルを選択する
バックテストでは、テストモデルを選択します。
モデルによって、テスト速度や精度、確認できる内容が変わる場合があります。
| 確認項目 | 内容 |
|---|---|
| テストモデル | どの方式で価格変動を再現するか |
| テスト速度 | 期間やモデルによって変わる |
| 確認したい内容 | 注文、決済、ログ、表示など |
どのモデルを選ぶべきかはEAの仕様や確認目的によって異なります。結果だけではなく、どのモデルでテストしたかを記録してください。
期間を指定する
テスト期間を指定します。
相談や比較をする場合、開始日と終了日を必ず記録してください。
- 開始日
- 終了日
- 対象期間の相場状況
- テスト期間の長さ
Inputsを確認する
テスト前にInputsを確認し、必要に応じてsetファイルを読み込みます。
- setファイルを読み込んだか
- ロット設定が意図どおりか
- 稼働時間がテスト期間と合っているか
- 通知や外部連携がテスト時に不要な設定になっていないか
- ログ出力設定が確認目的に合っているか
テストを開始する
設定を確認したら、テストを開始します。
テスト中や終了後には、結果レポートだけでなく、ログも確認してください。
- テストが開始できるか
- 初期化エラーがないか
- 注文エラーがないか
- テストが途中で止まっていないか
- 結果レポートを保存したか
バックテスト結果で見る項目
総損益
総損益は、指定期間のバックテストで最終的にどのような損益になったかを示す項目です。
ただし、総損益だけでEAの良し悪しを判断するのは適切ではありません。テスト期間、スプレッド、取引回数、ドローダウン、ログ上のエラーなどもあわせて確認します。
最大ドローダウン
最大ドローダウンは、テスト期間中にどの程度資産が落ち込んだかを見るための項目です。
ドローダウンはリスク状態を確認するための指標ですが、将来の損失を予測・保証するものではありません。
取引回数
取引回数は、テスト期間中にEAがどの程度売買したかを確認する項目です。
- 取引回数が極端に少なくないか
- 特定期間だけに偏っていないか
- BUY / SELL の偏りがないか
- 条件未成立でほとんど動いていない可能性がないか
勝率
勝率は、勝ち取引の割合を示す項目です。
勝率だけでEAの状態を判断するのではなく、平均利益、平均損失、保有時間、ドローダウン、取引回数と一緒に確認してください。
PF
PFは、総利益と総損失の関係を見るための指標です。
PFが高く見える場合でも、取引回数が少ない、特定期間に偏っている、スプレッド条件が現実と違うなどの場合は、確認が必要です。
連敗数
連敗数は、連続して損失取引が発生した回数を確認する項目です。
連敗数が多い場合は、最大ドローダウン、ロット設定、保有時間、ナンピンや追加エントリーの有無も確認してください。
保有時間
保有時間は、ポジションをどれくらいの時間保有していたかを見る項目です。
- 短期保有が多いか
- 長期保有が多いか
- 週またぎや日またぎがあるか
- 決済されずに残る傾向がないか
保有時間は、EAの動作特性を確認するための材料です。
バックテストとリアル運用が違う理由
スプレッド
バックテストとリアル運用では、スプレッドの扱いが異なる場合があります。
固定スプレッドでテストした場合、リアル運用時のスプレッド拡大は再現されないことがあります。
スリッページ
リアル運用では、注文を出した価格と約定価格がずれることがあります。
バックテストでは、この差が実際の環境と同じように再現されない場合があります。
約定条件
リアル運用では、取引時間、流動性、サーバー状態、ブローカー側の条件によって約定が変わることがあります。
注文エラーや約定拒否がある場合は、Journalログも確認してください。
サーバー時間
EAが時間条件を使っている場合、サーバー時間が重要です。
- 稼働時間設定
- 日付またぎ処理
- 曜日制御
- 経済指標前後の停止設定
バックテストとリアル環境で時刻の扱いを確認することが重要です。
外部連携
Discord通知、Google Sheets連携、外部認証、外部シート取得などは、バックテストとリアル環境で挙動が異なる場合があります。
バックテストでは外部連携を主目的にせず、必要に応じてリアル環境またはデモ環境で別途確認してください。
VPS環境
VPSでEAを使う場合、ローカルPCのバックテスト結果とは別に、VPS上でのMT5設定、WebRequest、通知、ログ保存、再起動後の状態を確認します。
- VPS上でEAが起動しているか
- setファイルが同じか
- WebRequest設定が反映されているか
- 通知が届くか
- Expertsログにエラーがないか
バックテストとリアル運用の違いについては、次の記事も参考になります。
バックテスト結果を相談する前に整理すること
レポート
バックテスト結果を相談する場合は、結果レポートを保存してください。
- バックテストレポート
- 損益グラフ
- 取引一覧
- 設定画面のスクリーンショット
- エラー発生時のログ
setファイル
使用したsetファイルを保存しておくと、同じ条件で再確認しやすくなります。
変更前後を比較する場合は、どの項目が変わったかも整理してください。
期間
テスト期間を明確にします。
- 開始日
- 終了日
- 対象期間の理由
- 短期テストか長期テストか
銘柄
銘柄名は正確に記録してください。
同じ商品名でも、実際のMT5上では銘柄名やサフィックスが異なる場合があります。
モデル
どのテストモデルを使ったかを記録します。
モデルが違うと、結果やテスト速度、確認できる内容が変わる場合があります。
Expertsログ
結果レポートだけでなく、Expertsログも確認します。
特に、初期化エラー、注文エラー、条件ブロック、WebRequestエラー、設定値エラーが出ていないかを確認してください。
よくある失敗例
対象EAが違う
バックテストでよくある失敗は、対象EAやバージョンを間違えることです。
- 旧バージョンを選んでいないか
- 検証用EAと通常EAを混同していないか
- 同名ファイルが複数ないか
setが違う
setファイルが違うと、同じEAでも結果は変わります。
- 別銘柄用setを使っていないか
- 検証用setを実運用用と混同していないか
- 変更前後のsetを保存しているか
銘柄名が違う
銘柄名にサフィックスがある場合、想定と違う銘柄でテストしている可能性があります。
銘柄名は省略せず、MT5上の表記どおりに記録してください。
スプレッド条件が違う
スプレッド条件が違うと、エントリー回数や損益、注文ブロックに影響することがあります。
- 固定スプレッドか
- 現在値か
- EA側にスプレッド制限があるか
- リアル環境との差を把握しているか
期間が短すぎる
期間が短すぎると、取引回数が少なく、EAの動作確認が十分にできない場合があります。
ただし、長期間にすれば必ず正しい判断ができるわけではありません。目的に応じて期間を決め、条件を記録することが重要です。
相談前チェックリスト
- 対象EA名とバージョンを記録した
- 使用したsetファイルを保存した
- 銘柄名を記録した
- 時間足を記録した
- テスト期間を記録した
- 初期証拠金を記録した
- スプレッド条件を記録した
- テストモデルを記録した
- 結果レポートを保存した
- Expertsログを確認した
- バックテストとリアル運用が一致するとは断定していない
相談時に送る情報・送らない方がよい情報
送ると確認しやすい情報
| 情報 | 理由 |
|---|---|
| EA名・バージョン | 対象EAを特定するため |
| setファイル | Inputs設定を確認するため |
| 銘柄・時間足 | テスト条件を確認するため |
| テスト期間 | 検証範囲を確認するため |
| バックテストレポート | 結果の概要を確認するため |
| Expertsログ | エラーやブロック理由を確認するため |
そのまま送らない方がよい情報
| 情報 | 注意点 |
|---|---|
| Webhook URL | 通知先へ接続できる情報のため注意 |
| GAS URL | 外部シート連携に関係するため注意 |
| APIキー | 外部サービス認証に関係するため注意 |
| 認証トークン | 利用権限に関係するため注意 |
| 口座番号 | スクリーンショットやレポートへの映り込みに注意 |
よくある質問
MT5バックテストとは何ですか?
過去データを使ってEAの動作を確認するための検証機能です。指定した銘柄、時間足、期間、setファイルなどの条件で、EAがどのように動作したかを確認できます。
バックテスト結果だけでEAの良し悪しを判断できますか?
いいえ。バックテストは過去データ上の検証であり、将来の結果を保証するものではありません。スプレッド、約定、外部連携、リアル環境との差もあるため、結果だけで断定しないことが重要です。
バックテスト結果を相談する時に必要な情報は何ですか?
EA名、バージョン、setファイル、銘柄、時間足、期間、モデル、初期証拠金、スプレッド条件、結果レポート、Expertsログを整理してください。
バックテストとリアル運用が違うのはなぜですか?
スプレッド、スリッページ、約定条件、サーバー時間、VPS環境、外部連携、通知設定などが異なるためです。
setファイルは保存した方がよいですか?
はい。後から同じ条件を再現するために重要です。変更前後のsetファイルがある場合は、どの項目が変わったかも整理してください。
取引回数が少ないバックテストは確認できますか?
確認はできますが、取引回数が少ない場合、EAの動作全体を判断しにくい場合があります。期間、銘柄、時間足、setファイル、条件未成立のログを確認してください。
バックテストで通知や外部連携も確認できますか?
EAの仕様によります。Discord通知やGoogle Sheets連携などは、バックテストとリアル環境で動作が異なる場合があります。外部連携は必要に応じてデモ環境やVPS環境でも確認してください。
関連ページ
EAやインジケーターの導入確認、既存ツールの改修、ログ確認でお困りの場合は、EAファンクラブの開発・確認サポートをご確認ください。

