MT5バックテストのやり方|EA検証前に確認する設定・スプレッド・結果の見方
MT5バックテストとは、過去データを使ってEAの動作を確認するための検証機能です。EAを実運用する前、設定値を変更する前、既存EAを改修する前に、エントリー、決済、ログ、setファイル、スプレッド、検証期間、結果レポートを確認するために使います。
バックテストは、EAの動作確認や条件比較に役立ちます。ただし、過去データ上の確認であり、将来の結果、利益、勝率、損失回避を保証するものではありません。
この記事では、MT5バックテストの基本的なやり方、検証前に確認する設定、スプレッドやヒストリカルデータの見方、結果レポートとログの確認、相談前に整理する情報をまとめます。
この記事で確認すること
MT5バックテストでは、単にテストを実行するだけでなく、検証条件をそろえて記録することが重要です。同じEAでも、銘柄、時間足、期間、スプレッド、初期証拠金、setファイル、ヒストリカルデータの状態によって結果が変わります。
- MT5バックテストで確認できること
- バックテスト前にそろえる検証条件
- ストラテジーテスターの基本設定
- 銘柄、時間足、期間、スプレッドの確認
- setファイルと入力パラメータの扱い
- ヒストリカルデータの確認
- 結果レポートとログの見方
- 相談前に整理しておく情報
MT5バックテストとは何か
MT5バックテストは、MT5のストラテジーテスターを使って、過去の価格データ上でEAがどのように動作するかを確認する機能です。エントリー条件、決済条件、ナンピン、トレーリング、損切り、利確、フィルター、ログ出力などを確認できます。
バックテストは、EAの良し悪しを一つの数字だけで判断するためのものではありません。EAのロジックが想定どおり動いているか、設定変更によって挙動が変わっていないか、異常な注文や決済が発生していないかを確認するための検証作業です。
バックテストで確認できること
| 確認項目 | 内容 | 確認ポイント |
|---|---|---|
| エントリー | EAがどの条件で注文するか | 想定外のタイミングで注文していないか確認する |
| 決済 | 利確、損切り、トレーリング、時間決済など | 決済理由がログや取引履歴で追えるか確認する |
| ロット | 初回ロット、追加ロット、複利設定など | 意図したロットで注文されているか確認する |
| フィルター | スプレッド、時間帯、曜日、インジケーター条件など | 条件不成立時に見送り理由が追えるか確認する |
| リスク管理 | 最大ポジション数、SL、証拠金、損失制限など | 安全停止やブロック理由が分かるか確認する |
| ログ | Expertsログ、Journalログ、EA独自ログ | 動作理由、エラー、見送り理由を確認する |
バックテストだけで判断しないこと
バックテスト結果は、テスト条件に強く影響されます。スプレッド、手数料、スリッページ、サーバー時間、約定条件、ヒストリカルデータ、銘柄仕様が変わると、実運用と結果が一致しないことがあります。
| 見落としやすい点 | 注意点 |
|---|---|
| 利益額だけを見る | 検証期間、DD、取引回数、ロット、スプレッド条件も確認する |
| 勝率だけを見る | 平均利益、平均損失、最大ドローダウン、連敗も確認する |
| PFだけを見る | 取引回数が少ない場合、数値だけで判断しない |
| 短期間だけで判断する | 相場環境が偏っていないか確認する |
| 最適化結果だけを見る | 過剰最適化になっていないか、別期間でも確認する |
バックテスト前に確認する設定
バックテスト前には、EAファイル、銘柄、時間足、期間、初期証拠金、レバレッジ、スプレッド、モデル、入力パラメータを確認します。条件を記録せずにテストすると、後から同じ結果を再現できなくなることがあります。
| 設定項目 | 確認内容 |
|---|---|
| EAファイル | テスト対象のEA名、バージョン、ビルドを確認する |
| 銘柄 | EURUSD、USDJPY、GOLD、XAUUSDなど、対象銘柄を確認する |
| 時間足 | M1、M5、M15、H1など、EAの想定時間足を確認する |
| 期間 | 開始日、終了日、相場環境の偏りを確認する |
| 初期証拠金 | 検証条件として使う残高を記録する |
| スプレッド | 現在値、固定値、実ティック条件などを確認する |
| 入力パラメータ | setファイル、ロット、フィルター、時間設定を確認する |
| テストモデル | 使用するモデリング方式やティックデータの扱いを確認する |
EA名とバージョンを記録する
同じEA名でも、バージョンが違えばロジックや初期値が変わっている場合があります。バックテスト結果を比較する時は、EA名、ファイル名、バージョン、更新日を記録してください。
銘柄名と時間足を確認する
EAによって、想定している銘柄や時間足が決まっている場合があります。特にGOLD / XAUUSD、指数、仮想通貨CFDなどは、ブローカーごとにシンボル名、桁数、スプレッド、取引時間が異なることがあります。
期間を決めてから比較する
バックテスト結果を比較する場合は、同じ期間で確認します。期間が違うと、相場環境、ボラティリティ、トレンド、レンジ、経済指標の影響が変わるため、結果だけを単純比較しにくくなります。
MT5バックテストの基本手順
MT5バックテストは、ストラテジーテスターを開き、EA、銘柄、時間足、期間、入力パラメータを設定して実行します。実行後は、グラフ、結果、レポート、ログを確認します。
- MT5でストラテジーテスターを開く
- テスト対象のEAを選ぶ
- 銘柄、時間足、期間を設定する
- 初期証拠金、レバレッジ、スプレッド条件を確認する
- 入力パラメータまたはsetファイルを確認する
- 必要に応じてビジュアルモードを選ぶ
- バックテストを実行する
- 結果、グラフ、取引履歴、ログを確認する
- 検証条件と結果を保存する
ストラテジーテスターを開く
MT5のメニューからストラテジーテスターを開き、テスト対象のEAを選択します。EAが一覧に表示されない場合は、EAファイルの配置場所、コンパイル状態、MT5の再起動を確認してください。
入力パラメータを確認する
EAの入力パラメータでは、ロット、スプレッド制限、取引時間、マジックナンバー、エントリー条件、決済条件、通知設定などを確認します。setファイルを使う場合は、読み込んだファイル名と内容を記録しておきます。
ビジュアルモードで動きを確認する
EAの動作を目で確認したい場合は、ビジュアルモードを使います。エントリー位置、決済位置、ライン表示、オブジェクト表示、パネル表示などを確認できます。ただし、長期間の検証では実行速度が遅くなる場合があります。
スプレッドとヒストリカルデータの確認
バックテストでは、スプレッドとヒストリカルデータの状態が結果に影響します。特に短期売買、スキャルピング、ナンピンEA、GOLD / XAUUSDなどでは、スプレッド条件を記録しておくことが重要です。
スプレッド条件を確認する
| 確認項目 | 内容 |
|---|---|
| 固定スプレッド | 指定したスプレッド値でテストしているか確認する |
| 現在スプレッド | テスト実行時点のスプレッドが使われる場合があるため記録する |
| 実ティック | ティックデータに基づく変動が反映されるか確認する |
| 手数料 | 口座タイプによって手数料の扱いが違う場合がある |
| スリッページ | バックテスト上では実運用と完全一致しない場合がある |
ヒストリカルデータを確認する
バックテストで使う過去データが不足していると、テスト期間が短くなったり、結果が不自然になったりすることがあります。テスト前に対象銘柄と時間足のデータが取得されているか確認してください。
データが不足している場合は、チャートを開いて過去データを読み込む、ヒストリーセンターやブローカー提供データを確認する、期間を変更するなどの方法で切り分けます。
setファイルと検証条件を保存する
setファイルは、EAの入力パラメータを保存するためのファイルです。バックテスト結果を比較したり、後から同じ条件を再現したりするために重要です。
| 保存する情報 | 理由 |
|---|---|
| setファイル名 | どの設定でテストしたかを再現するため |
| EA名・バージョン | EA更新前後の違いを確認するため |
| 銘柄・時間足 | テスト対象条件を明確にするため |
| 期間 | 結果比較時の前提をそろえるため |
| 初期証拠金 | DDやロット管理の前提を確認するため |
| スプレッド条件 | 結果差の原因を確認するため |
| レポート | 損益、取引回数、DDなどを後から確認するため |
| ログ | エントリー、決済、見送り、エラーの理由を追うため |
検証結果を相談する場合は、結果画像だけでなく、setファイル、EAバージョン、テスト条件、レポート、ログを合わせて整理すると確認しやすくなります。
バックテスト結果の見方
バックテスト結果を見る時は、残高グラフや利益額だけでなく、取引回数、最大ドローダウン、平均利益、平均損失、連敗、ポジション保有時間、ロット推移、決済理由を確認します。
| 項目 | 確認すること |
|---|---|
| 取引回数 | 検証期間に対して十分な件数があるか確認する |
| 最大ドローダウン | 資金の落ち込み幅と発生タイミングを確認する |
| PF | 総利益と総損失の比率を確認する。ただし単独で判断しない |
| 勝率 | 平均利益、平均損失、損益比率と合わせて確認する |
| 平均利益・平均損失 | 1回あたりの利益と損失の偏りを確認する |
| 連勝・連敗 | 連続損失時の資金変動を確認する |
| ロット推移 | 想定外にロットが増えていないか確認する |
| 取引履歴 | エントリーと決済の時刻、価格、理由を確認する |
グラフだけで判断しない
残高グラフが右肩上がりに見えても、途中で大きな含み損やドローダウンが発生している場合があります。取引履歴、最大DD、ロット推移、ポジション保有時間も確認してください。
ログで動作理由を確認する
EAが注文しない、決済しない、ナンピンしない、トレーリングしない場合は、結果レポートだけでなくExpertsログやEA独自ログを確認します。条件不成立、スプレッドブロック、取引時間外、証拠金不足、注文エラーなどを分けて確認してください。
うまくテストできない時の確認ポイント
バックテストが開始できない、途中で止まる、注文が出ない、結果が不自然な場合は、症状ごとに原因を切り分けます。
| 症状 | 確認する場所 | 確認内容 |
|---|---|---|
| EAが一覧に出ない | Expertsフォルダ、コンパイル状態 | EA配置、コンパイルエラー、MT5再起動を確認する |
| テストが開始できない | ストラテジーテスター設定 | 銘柄、期間、モデル、EA選択を確認する |
| 注文が出ない | Expertsログ、入力パラメータ | 条件不成立、取引時間外、スプレッド制限を確認する |
| 途中で止まる | ログ、EAエラー、データ不足 | 配列エラー、ファイル参照、ヒストリカルデータ不足を確認する |
| 結果が毎回違う | スプレッド、ティックデータ、設定値 | 同じ条件で再現できるか確認する |
| テストが遅い | 期間、ビジュアルモード、ログ量 | 期間を分ける、ビジュアルをOFFにする、ログ量を確認する |
バックテスト結果を相談する前に整理すること
バックテスト結果について相談する場合は、画像だけでは原因を判断しにくい場合があります。検証条件、setファイル、レポート、ログ、スクリーンショットをまとめておくと確認が進めやすくなります。
送ると確認しやすい情報
| 情報 | 理由 |
|---|---|
| EA名とバージョン | 対象ファイルと仕様を確認するため |
| setファイル | 入力パラメータを再現するため |
| 銘柄、時間足、期間 | 検証条件を確認するため |
| 初期証拠金、スプレッド条件 | 結果差の前提を確認するため |
| バックテストレポート | 損益、DD、取引回数などを確認するため |
| Expertsログ | エントリー、決済、見送り、エラーを確認するため |
| スクリーンショット | 設定画面や結果画面を確認するため |
送らない方がよい情報
| 情報 | 注意点 |
|---|---|
| 取引口座のログイン情報 | 確認に不要です。送付しないでください。 |
| パスワードや認証情報 | 第三者に共有しないでください。 |
| Webhook URLやAPIキー | 外部連携の秘密情報は伏せてください。 |
| 個人情報が映った画像 | 必要部分だけを切り取り、不要部分は伏せてください。 |
| 不要な長時間ログ全文 | 対象時刻周辺を中心に整理してください。 |
記事固有の実務チェック表
MT5バックテストを行う前後に、以下の項目を確認してください。
- EA名、ファイル名、バージョンを記録した
- 銘柄名、時間足、検証期間を記録した
- 初期証拠金、レバレッジ、口座通貨を確認した
- スプレッド条件を確認した
- 使用したsetファイルを保存した
- 入力パラメータの変更点を記録した
- ヒストリカルデータの不足がないか確認した
- バックテストレポートを保存した
- ExpertsログとJournalログを確認した
- 結果画像だけでなく、検証条件も一緒に保存した
- バックテスト結果が将来の結果を保証しないことを確認した
バックテスト結果を比較する時の注意点
MT5バックテスト結果を比較する時は、一度に複数の条件を変えないことが重要です。銘柄、時間足、期間、スプレッド、setファイル、EAバージョンを同時に変えると、何が結果に影響したのか分からなくなります。
たとえば、スプレッド耐性を確認したい場合は、EA、setファイル、銘柄、時間足、期間を固定し、スプレッドだけを変えて比較します。期間の違いを確認したい場合は、EA、setファイル、銘柄、時間足、スプレッドを固定し、検証期間だけを変えます。
| 比較したい内容 | 変える条件 | 固定する条件 |
|---|---|---|
| 期間差 | 検証期間 | EA、setファイル、銘柄、時間足、スプレッド |
| スプレッド差 | スプレッド値 | EA、setファイル、銘柄、時間足、期間 |
| 時間足差 | M5、M15、H1など | EA、setファイル、銘柄、期間、スプレッド |
| set差 | input設定 | EA、銘柄、時間足、期間、スプレッド |
| EA更新差 | EAバージョン | setファイル、銘柄、時間足、期間、スプレッド |
| 銘柄差 | 対象銘柄 | EA、基本set、時間足、検証期間の考え方 |
比較結果を保存する時は、ファイル名や管理メモに、EA名、バージョン、setファイル名、銘柄、時間足、期間、スプレッド条件を残してください。結果画像だけを保存しても、後から同じ条件を再現できない場合があります。
注文が出ない時は損益ではなく停止理由を見る
MT5バックテストで注文が出ない場合、EAが壊れているとは限りません。エントリー条件が成立していない、スプレッド条件で止まっている、取引時間外、最大ポジション数制限、証拠金不足、初期化失敗、Magic Numberやシンボル条件の不一致など、複数の原因があります。
このような場合は、バックテスト結果の損益ではなく、Expertsログ、Journalログ、EA独自ログを確認します。特に、シグナル判定、フィルター停止、発注前チェック、注文結果が分かれて出ているかが重要です。
| 確認箇所 | 見る内容 | よくある停止理由 |
|---|---|---|
| 初期化 | OnInit、認証、input確認 | EA起動失敗、設定不足、ファイル参照失敗 |
| シグナル | BUY / SELL候補が出ているか | 条件不成立、インジケーター値不足 |
| スプレッド | 許容スプレッド内か | スプレッド上限超過 |
| 時間条件 | 稼働時間・曜日制限 | 取引時間外、曜日停止 |
| ポジション条件 | 最大ポジション数、同一方向制限 | 既存ポジションあり、最大数到達 |
| 注文前確認 | ロット、証拠金、SL/TP距離 | 証拠金不足、StopLevel違反、OrderCheck失敗 |
ログに理由が出ていない場合は、EA側のログ設計を見直す必要があります。少なくとも、SIGNAL、SPREAD、TIME、POSITION、ORDER_CHECK、ORDER_RESULTのどこで止まったかが分かると、原因確認が進めやすくなります。
最適化へ進む前に単体バックテストを確認する
MT5には最適化機能がありますが、最適化へ進む前に、まず単体バックテストでEAが正常に動いていることを確認してください。単体テストで注文が出ない、ログが出ない、決済されない、setファイルが反映されていない状態で最適化しても、結果の意味が分からなくなります。
最適化は、複数のinputを比較するための作業です。EAの基本動作確認とは目的が違います。まず基準setで、起動、シグナル、発注前チェック、注文、決済、ログ出力を確認し、その後に変更したいinputだけを対象にして最適化へ進みます。
| 段階 | 確認内容 | 注意点 |
|---|---|---|
| 単体バックテスト | 基準setで正常に動くか | 最適化前の基準を作る |
| ログ確認 | シグナル、停止理由、注文結果が出ているか | 良い結果の理由を追えるようにする |
| 最適化対象 | どのinputを変えるか | 一度に増やしすぎない |
| 範囲とステップ | 開始値、終了値、間隔 | 広すぎても狭すぎても解釈しにくい |
| 結果確認 | 利益、DD、取引回数、PF | 利益だけで選ばない |
| 別期間確認 | 最適化に使っていない期間で確認する | 過剰最適化を疑う材料にする |
最適化結果では、一番利益が大きい設定だけを選ばないでください。取引回数が少なすぎる結果、ドローダウンが大きい結果、近いパラメータで急に崩れる結果は、過去データに合わせすぎている可能性があります。
よくある質問
MT5バックテストは何を確認するために使いますか
EAのエントリー、決済、ロット、フィルター、ログ、設定変更後の挙動を過去データ上で確認するために使います。将来の結果を保証するものではありません。
バックテスト結果が毎回違うのはなぜですか
スプレッド、ティックデータ、ヒストリカルデータ、setファイル、期間、EAバージョンが違う可能性があります。同じ条件で再現できるか確認してください。
setファイルは保存した方がよいですか
保存した方がよいです。setファイルがないと、どの入力パラメータでテストしたか分からなくなり、後から同じ条件を再現しにくくなります。
バックテストで注文が出ない時はどこを見ますか
Expertsログ、EAの入力パラメータ、取引時間、スプレッド制限、エントリー条件、銘柄・時間足の指定を確認します。条件不成立と注文エラーは分けて確認してください。
バックテスト結果だけでEAを判断してよいですか
バックテスト結果だけで判断するのは避けてください。検証条件、相場環境、スプレッド、実運用との差、ログ、フォワード確認を合わせて確認することが重要です。
相談する時は何を送ればよいですか
EA名、バージョン、setファイル、銘柄、時間足、期間、スプレッド条件、バックテストレポート、Expertsログ、設定画面のスクリーンショットを整理してください。
関連ページ
MT5バックテストに関連するページをまとめます。EAの基本、ストラテジーテスター、setファイル、スプレッド、リアル運用との差、相談前整理も合わせて確認してください。
| 確認したい内容 | 関連ページ |
|---|---|
| MT5 EAの基本を確認したい | MT5 EAとは?入れ方・設定・動かない時の確認ポイント |
| 自動売買前の基本設定を確認したい | MT4/MT5で自動売買を始める前に確認する設定 |
| ストラテジーテスターを詳しく確認したい | MT5ストラテジーテスター・最適化完全ガイド |
| バックテストの基本用語を確認したい | バックテストとは|EA検証で確認する期間・スプレッド・setファイルの基本 |
| setファイルの意味を確認したい | setファイルとは|EA設定を保存・比較・再現するための基本用語 |
| バックテスト前の検証条件を確認したい | 自動売買EAのバックテストを見る前に確認すること |
| バックテストとリアル運用の違いを確認したい | MT5でバックテストとリアル運用の違いを確認すること |
| GOLD / XAUUSDの検証条件を確認したい | GOLD / XAUUSDのバックテストで確認すること |
| バックテスト結果を相談する前に整理したい | MT5でバックテスト結果を相談する前に整理すること |
| 検証環境と運用環境を整理したい | MT5検証・運用環境ガイド |
| 不具合報告や調査依頼をしたい | 不具合報告・調査依頼について |
| 利用前の注意事項を確認したい | 免責事項 |
まとめ
この記事では、MT5バックテストの基本、検証前に確認する設定、スプレッド、ヒストリカルデータ、setファイル、結果レポート、ログ確認、相談前に整理する情報を確認しました。
バックテストを行う時は、EA名、バージョン、銘柄、時間足、期間、初期証拠金、スプレッド条件、setファイル、ヒストリカルデータ、ログを記録しておくと、後から結果を比較しやすくなります。
バックテスト結果は、過去データ上の検証結果です。将来の結果を保証するものではないため、実運用前にはデモ環境や検証環境で動作を確認し、必要に応じてログや設定条件を整理してください。
