公開日: 2026-06-08 カテゴリ: EA・バックテスト ペルソナ: quant 文字数目安: 5,000字(ピラー記事)
免責事項: 本記事は情報提供を目的としたものであり、特定の投資行動を推奨するものではありません。FX取引にはリスクが伴い、元本を割り込む可能性があります。実際の取引判断はご自身の責任で行ってください。
この記事で分かること
- MT5ストラテジーテスターの各設定項目の意味と最適値
- 全ティック・実ティック・OHLCの違いと選び方
- バックテスト結果を判定する5つの合格基準
- 過剰最適化(カーブフィッティング)の見抜き方
- ウォークフォワードテストの組み合わせ手順
MT4とMT5のバックテスト、何が違うのか
MetaTrader 5(MT5)のストラテジーテスターを初めて触った人が「MT4と何が違うのか」と疑問を持つのは自然なことだ。見た目は似ているが、内部の設計思想はかなり変わっている。
中でも大きいのが**実ティックデータ(Real Ticks)**の標準対応だ。MT4では、ブローカーから提供される1分足データを補間してティックを生成していたため、どれだけ丁寧に設定してもモデリング品質の上限は99.9%止まりだった。MT5では各ブローカーが蓄積した実際のティック価格をそのまま利用できるため、理論上100%に近いモデリング品質が得られる。
この差が実際に効いてくるのは、スキャルピング系EAやティック単位でエントリーを制御する戦略の検証だ。ピップ単位の誤差が数百回・数千回と積み重なると、バックテストとフォワードの乖離として静かに顕在化していく。
ストラテジーテスターを開く前の準備
ヒストリカルデータのダウンロード
MT5を起動し、「ツール」→「データセンター」から対象通貨ペアの過去データをダウンロードする。設定した期間のデータが手元にない場合、テスターは自動的にブローカーのサーバーからデータを取得しようとするが、接続状況によって品質にばらつきが出ることがある。
事前に「表示」→「シンボル」で対象ペアを右クリックし、「チャートの最高更新」を実行しておくと安定する。
テスター起動方法
- メニュー「表示」→「ストラテジーテスター」
- ショートカット: Ctrl + R
設定タブの各項目を正しく理解する
エキスパートアドバイザー(EA)の選択
ドロップダウンから対象EAを選ぶ。コンパイル済みの .ex5 ファイルが表示される。「入力」タブでパラメーターを事前確認しておくこと。
シンボル(通貨ペア)
EAが設計された通貨ペアを選択する。複数通貨ペアに対応したマルチカレンシーEAの場合は、主要ペアを基準に設定し、サブペアはコード内で参照させる方式になっていることが多い。
時間足
EAのエントリーロジックが依拠する足種を選ぶ。移動平均クロス系EAなら1時間足、スキャルピングEAなら1分足または5分足が一般的だ。
モデル(最も重要な設定)
| モデル | 精度 | 速度 | 推奨用途 | |--------|------|------|----------| | 全ティック(実ティックデータ)| 最高(99%以上) | 最も遅い | 最終検証・スキャルピングEA | | 全ティック | 高(99.9%) | 遅い | 標準的な最終検証 | | OHLC足ごと(1分) | 中 | 速い | プロトタイプ段階の粗検証 | | 始値のみ | 低 | 最速 | ロジック確認のみ |
推奨: 最終判定は「全ティック(実ティックデータ)」で行う。ただし処理時間が数倍かかるため、開発段階では「全ティック」モードで十分だ。
期間
過去データの範囲を指定する。業界標準は最低5年、理想は10年以上だ。相場サイクルには上昇・下降・レンジが繰り返されるため、1〜2年程度の検証では特定の市場環境にのみ適合したEAを誤って「優秀」と判断するリスクが高い。
スプレッド
実際の平均スプレッドより1〜2pips広めに設定することが推奨される。バックテストは理想的な約定を前提にしがちで、実運用では約定遅延やスリッページが発生するためだ。特にニュース時の急拡大を想定した保守的な設定を推奨する。
初期証拠金
実際の運用資金に合わせて設定する。証拠金額がドローダウン計算に影響するため、過大な設定はリスク評価を歪める。
フォワードテストを同時設定する
ストラテジーテスターの「フォワード」欄から、テスト期間の後ろ部分をフォワード検証区間として分離できる。
推奨設定: 全期間の後ろ20〜30%をフォワード期間とする
例: 2015年〜2025年の10年データを使う場合、2022年末〜2025年をフォワード区間に設定する
フォワードテストの意味: 最適化のインプットに使わなかった「未来データ」でEAのロバスト性を検証できる。バックテストでの最適化後に同等のパフォーマンスが出ていれば、過剰最適化の可能性が低いと判断できる。
結果タブの読み方|5つの合格基準
バックテスト完了後、「結果」タブに表示される数値を以下の基準で判定する。
1. プロフィットファクター(PF)
PF = 総利益 ÷ 総損失
| 判定 | 値 | |------|-----| | 不合格 | 1.0未満 | | 最低ライン | 1.2以上 | | 合格 | 1.5以上 | | 優秀 | 2.0以上 | | 要注意(過剰最適化疑い) | 3.0超 |
PFが3.0を超える場合、カーブフィッティングの可能性が高い。現実的な相場でここまで綺麗な結果が出ることは稀だ。
2. 最大ドローダウン(MaxDD)
資産曲線のピークからボトムまでの最大下落率。
| 判定 | 値 | |------|-----| | 優秀 | 10%未満 | | 合格 | 20%以内 | | 要注意 | 20〜30% | | 不合格 | 30%超 |
ドローダウンが大きいEAはロットを下げて運用するか、戦略の見直しが必要だ。
3. 取引回数
テスト期間に対して統計的に有意な取引数が確保されているかを確認する。
- 10年検証の場合: 最低200回以上、理想は500回以上
- 取引回数が少なすぎると、結果が偶然性に左右される
4. 勝率とリスクリワード比
勝率単体では性能を判断できない。リスクリワード比(RR比)とセットで評価する。
- 勝率30%・RR比3:1 → 理論上プラス
- 勝率80%・RR比0.2:1 → 少ない負けが口座を吹き飛ばすリスク
5. シャープレシオ
シャープレシオ = (年間リターン - リスクフリーレート) ÷ 年間リターンの標準偏差
1.0以上が目安。MT5の「グラフ」タブから確認できる。
過剰最適化(カーブフィッティング)を見抜く
バックテストで高性能を示すEAが実運用で崩壊するのは、多くの場合、過去データに過剰に適合しているためだ。
チェックリスト
- [ ] パラメーター最適化後のフォワード成績が大幅に劣化していないか
- [ ] 最適値の前後(±10〜20%)でも安定した成績が出るか(頑健性テスト)
- [ ] 取引数が統計的に十分か(少ない回数での高成績は偶然の可能性大)
- [ ] 異なる通貨ペア・時間足での動作確認をしたか
- [ ] 特定の相場期間(例: コロナショック時のみ)だけ偏って稼いでいないか
ストラテジーテスターの最適化機能の使い方
「最適化」チェックを入れると、指定したパラメーター範囲の全組み合わせを試行できる(フルサーチ)か、遺伝的アルゴリズムで効率的に探索できる。
注意: 最適化はあくまで「候補絞り込み」のツールだ。最適化で見つけた最良値をそのまま採用するのではなく、フォワード検証と頑健性テストで改めて確認すること。
ウォークフォワードテストの手順
ウォークフォワード(WFT)は、最適化とフォワード検証を時系列にずらしながら繰り返す手法だ。
[最適化区間1] → [フォワード区間1]
[最適化区間2] → [フォワード区間2]
[最適化区間3] → [フォワード区間3]
各区間でのフォワード成績が安定しているEAは、より高いロバスト性を持つと評価できる。
MT5では手動で期間をずらしながら繰り返す必要があるが、MQL5マーケットには自動化ツールも存在する。
よくある失敗と対処法
失敗1: モデリング品質が低い状態で判定する
原因: ヒストリカルデータが不足している、または「始値のみ」モードで検証 対策: データセンターから最新データをダウンロードし、「全ティック」モードで再検証
失敗2: スプレッドを0または狭く設定する
原因: デフォルト値のまま実行 対策: 実際のブローカーのスプレッドを調べ、保守的な値(広め)を手動設定
失敗3: テスト期間が短すぎる
原因: 直近1〜2年のデータのみで好成績を確認 対策: 最低5年、リーマンショック・コロナショック等の大相場を含む期間で検証
失敗4: 最適化の最良値をそのまま本番採用する
原因: 最適化マップの最高PF値を選択 対策: 最良値の周辺パラメーターでも安定した成績が出る「山の頂上」ではなく「なだらかな丘」を選ぶ
MT5バックテストの結果をNotionで管理する
複数EAのバックテスト結果を比較・管理するには、以下の項目を記録するデータベースを整備すると効率的だ。
| 管理項目 | 内容 | |---------|------| | EA名 | バージョン管理を含む | | 通貨ペア・時間足 | 検証条件 | | テスト期間 | 開始〜終了 | | モデル | 全ティック等 | | PF | プロフィットファクター | | MaxDD | 最大ドローダウン | | 取引回数 | 統計的妥当性の確認 | | シャープレシオ | リスク調整後パフォーマンス | | フォワード成績 | ロバスト性評価 | | 判定 | 合格・条件付き・不合格 |
まとめ
MT5のストラテジーテスターは、EA開発者にとって最も重要な検証インフラだ。設定の不備一つで誤った判断を下すリスクがあるため、本記事で解説した手順を標準化して使ってほしい。
最低限守るべき3つのルール:
- モデルは「全ティック(実ティックデータ)」で最終判定する
- テスト期間は5年以上、できれば10年以上確保する
- 最適化後は必ずフォワードテストと頑健性テストで確認する
バックテストはあくまで「過去の検証」に過ぎない。将来の利益を保証するものではなく、EAの特性と限界を理解するためのツールとして活用することが重要だ。
免責事項: FX取引は元本保証のない金融商品です。バックテストの結果は過去のデータに基づくものであり、将来の運用成果を約束するものではありません。実際の運用にあたっては、金融商品取引業者の説明を十分に確認し、ご自身のリスク許容度に応じた判断を行ってください。
よくある質問(FAQ)
Q. MT4とMT5のバックテスト結果は比較できますか? A. 直接比較は難しい。MT5は実ティックデータを使えるため精度が高く、同一EAでもMT4より保守的な(低い)PFが出やすい。MT5の結果の方が実運用に近いと考えてよい。
Q. バックテストで合格したのに実運用で負けるのはなぜですか? A. 主な原因は(1)過剰最適化、(2)スプレッド・スリッページの過小評価、(3)相場環境の変化の3つだ。フォワードテストと実運用の乖離が大きい場合は、まずスプレッド設定を見直すとよい。
Q. モデリング品質99%未満の結果は使えませんか? A. 開発初期の方向性確認には使える。ただし最終判断は全ティックモードで行うこと。99%未満の結果を根拠に本番運用を始めるのは避けるべきだ。
Q. 取引回数が100回程度でもPF2.0超なら信用できますか? A. 統計的には不十分だ。100回では偶然性が排除できない。最低200回、できれば500回以上の取引数で同等のPFが維持されて初めて信頼性が高まる。
Q. 最適化でパラメーターを探す際の注意点は? A. 「最もPFが高い組み合わせ」ではなく「周辺値でも安定して高いPFが出る領域」を選ぶこと。最高値は過剰最適化の結果である可能性が高い。
