EAを実弾で動かす前に必ずやるべきなのが、バックテスト(過去データでの検証)です。しかし手順どおりに実行しても、「モデリング品質が90%にならない」「バックテストでは優秀なのに実運用で溶ける」という壁に多くの人がぶつかります。この記事では、MT4/MT5でのバックテスト手順に加えて、結果レポートの正しい読み方、過剰最適化を見抜く方法、そして実運用へつなげるフォワードテストの進め方までを解説します。
この記事の要点
- バックテストは「合格させる試験」ではなく「実運用に耐えないEAを見つけるふるい」として使うのが正しい位置づけです。
- MT4ではモデリング品質90%が実質的な上限値。90%未満の結果はヒストリカルデータ不足で信頼できません。
- 総利益だけでなく、プロフィットファクター・最大ドローダウン・総取引回数・期待利得・リカバリーファクター・最大連敗数の6指標で評価します。
- 本番投入前に、デモ口座での動作確認 → リアル口座の最小ロットという順でフォワードテストを行います。
目次
バックテストで何がわかり、何がわからないのか
バックテストは、EAの売買ロジックを過去の相場データに当てはめて、「もしその期間に動かしていたらどうなっていたか」をシミュレーションする作業です。
ここで重要なのは、バックテストの役割を正しく理解しておくことです。
| わかること | わからないこと |
|---|---|
| ロジックが致命的に破綻していないか | 将来も同じ成績を出せるか |
| 最大ドローダウンの規模感 | 実際のスリッページと約定拒否の影響 |
| 取引頻度とコスト負担の大きさ | 指標発表時のスプレッド拡大の影響 |
| パラメータに対する成績の感度 | 相場環境が変化した後の耐性 |
つまりバックテストは「合格させるための試験」ではなく「不合格を見つけるためのふるい」です。良い結果が出たEAが必ず勝つわけではありませんが、悪い結果が出たEAはほぼ確実に実運用でも通用しません。この順序で捉えておくと、数字に振り回されずに済みます。
ヒストリカルデータの準備とモデリング品質90%
バックテストの精度は、使用するヒストリカルデータの精度でほぼ決まります。MT4は初期状態では過去データが不足しているため、まずデータを揃える作業から始めます。
MT4での設定手順
- バー数の上限を引き上げる:「ツール」→「オプション」→「チャート」タブを開き、「ヒストリー内の最大バー数」と「チャートの最大バー数」に十分大きな値(例:99999999)を入力します。ここが小さいと、データを取り込んでも古い部分が切り捨てられます。
- ヒストリーセンターからデータを取得:「ツール」→「ヒストリーセンター」(F2)を開き、検証したい通貨ペアの1分足(M1)を選んで「ダウンロード」します。
- チャートを開いて更新:対象通貨ペアのチャートを開き、時間足を切り替えながらスクロールしてデータを読み込ませます。
モデリング品質90%が目標値
MT4のバックテスト結果レポートには「モデリング品質」という項目があります。「全ティック」モードで1分足データが十分に揃っていれば90%と表示され、これが実質的な上限値です。25%や50%と表示される場合はデータ不足で、そのテスト結果は信頼できません。n/a(該当なし)の場合は、そもそもデータが読み込まれていません。
より高い精度を求める場合は、実際のティックデータ(1分足からの補完ではなく、値動きそのものの記録)を使う外部ツールを併用する方法もあります。ただし初期段階では、まずモデリング品質90%を安定して出せる状態を目指せば十分です。
MT4でのバックテスト手順
データが揃ったら、ストラテジーテスターで検証を実行します。
- ストラテジーテスターを開く:「表示」→「ストラテジーテスター」(Ctrl+R)で、画面下部にテスターが表示されます。
- EAを選択:「エキスパートアドバイザ」のプルダウンから検証したいEAを選びます。ここに表示されない場合は、EAファイルが正しいフォルダに置かれていません。
- 通貨ペアと時間足を指定:EAが想定している通貨ペア・時間足に合わせます。EAの説明書に指定があれば必ずそれに従ってください。
- モデルを「全ティック」にする:「始値のみ」「コントロールポイント」は高速ですが精度が大きく落ちます。スキャルピング型EAでは特に、必ず「全ティック」を選びます。
- 期間を指定する:「日付を使用」にチェックを入れ、開始日と終了日を設定します。最低でも2〜3年、できれば5年以上を確保したいところです。
- スプレッドを設定する:「現在値」ではなく、実運用で想定される値を固定で入れるのが安全です。TitanFXのブレード口座でスキャルピング型EAを回すなら、手数料込みの実質コストを踏まえた値を使います(スプレッド比較記事参照)。
- パラメータと初期証拠金を設定:「エキスパート設定」からロット数・損切り幅などを入力し、初期証拠金には実際に投入する予定額を入れます。
- スタートして結果を確認:完了後、「結果」「グラフ」「レポート」「操作履歴」の各タブを確認します。
スプレッドを狭く設定しすぎない
バックテストで最も結果を歪めるのがスプレッド設定です。常時最狭スプレッドを前提にしたテストは、実運用より大幅に良い数字が出ます。実際には指標発表時や早朝にスプレッドは拡大します。やや厳しめの値でテストして、それでも利益が残るかを確認してください。
MT5でのバックテスト手順と違い
MT5のストラテジーテスターは、MT4から大幅に改良されています。基本の流れは同じですが、次の違いを押さえておきましょう。
| 項目 | MT4 | MT5 |
|---|---|---|
| ティックの精度 | 1分足からの生成(モデリング品質90%) | 実ティックに基づくテストが可能 |
| 処理速度 | シングルスレッド | マルチスレッド対応で高速 |
| 複数通貨ペアの同時テスト | 不可 | 可能 |
| データ準備 | ヒストリーセンターで手動取得 | 実行時にサーバーから自動取得 |
| 最適化機能 | 総当たり | 遺伝的アルゴリズムに対応 |
MT5では「モデル」の選択肢に「実際のティックに基づく全ティック」があり、これを選ぶと業者が配信した実際のティックデータで検証できます。MT4より現実に近い結果が得られるため、これから新しくEAを検証するならMT5を推奨します。
ただし、EAファイルには互換性がありません。MT4用のEA(.ex4)はMT5では動作しないため、手持ちのEAがどちらに対応しているかを先に確認してください。詳しくはMT4・MT5完全ガイドで解説しています。
結果レポートの読み方(6つの指標)
テストが終わったら、総利益だけを見て判断してはいけません。次の6つを順に確認します。
| 指標 | 意味 | 見るべき水準 |
|---|---|---|
| プロフィットファクター | 総利益 ÷ 総損失 | 1.3以上が一つの目安。3.0超は過剰最適化を疑う |
| 最大ドローダウン | 資産のピークからの最大下落幅 | この2倍の余力を資金計画に見込む |
| 総取引回数 | テスト期間中の売買回数 | 最低200回以上。少ないと偶然の可能性が高い |
| 期待利得 | 1取引あたりの平均損益 | スプレッド・手数料を引いてもプラスか |
| リカバリーファクター | 純益 ÷ 最大ドローダウン | 3以上あれば回復力が高い |
| 最大連敗数 | 連続して負けた回数 | 精神的に耐えられる回数か |
あわせて資産曲線(グラフタブ)の形を必ず目で確認してください。右肩上がりでも、階段状に急落を繰り返しているEAと、緩やかに積み上がるEAでは運用の難易度が違います。特に、終盤で急激に利益が伸びているグラフはナンピン・マーチンゲール型の可能性が高く、その裏には「いつか来る大きな一撃」が潜んでいます。
勝率90%超のEAに注意
勝率の高さは優秀さの証明ではありません。損切りを置かずに含み損を耐えるロジックは、簡単に勝率90%を超えます。その代わり、一度の失敗で口座を飛ばします。勝率を見るときは必ず「平均利益」と「平均損失」の比率をセットで確認してください。平均損失が平均利益の何倍にもなっているEAは危険です。
カーブフィッティングを見抜く3つの方法
カーブフィッティング(過剰最適化)とは、過去データにパラメータを合わせ込みすぎて、その期間だけ抜群の成績が出る状態を指します。バックテストが美しいEAほど疑ってかかる価値があります。
1. アウトオブサンプル検証
テスト期間を2つに分けます。前半(インサンプル)でパラメータを調整し、調整に一切使っていない後半(アウトオブサンプル)でそのまま動かす方法です。ここで成績が大きく崩れるなら、そのパラメータは過去に合わせ込んだだけということになります。
2. パラメータの感度をみる
最適とされたパラメータの前後の値でもテストしてみます。たとえば最適値が「20」なら、18・19・21・22でも実行します。20だけ突出して良く、周辺の値では損失になるなら、それは偶然のピークです。逆に、周辺の値でも安定してプラスなら、ロジックに実体がある可能性が高いといえます。
3. 複数の相場環境をまたぐ期間でテストする
トレンド相場だけ、あるいはレンジ相場だけの期間で検証しても意味がありません。金利上昇局面・下降局面、ボラティリティの高い時期と低い時期を含む長期間でテストし、どの局面で損失が出るのかを把握しておきます。「どの相場でも勝てるEA」はまず存在しないので、苦手な相場を知っておくこと自体が運用の武器になります。
フォワードテストの進め方
バックテストを通過したEAは、いきなり本番投入せず、段階を踏んで実運用に移します。
- デモ口座で1〜2週間:まずは資金を賭けずに、EAが想定どおりに発注・決済するかを確認します。この段階で見つかる不具合の多くは、ロジックではなく設定ミスです。
- リアル口座・最小ロットで1〜3ヶ月:ここが本当の検証です。デモとリアルでは約定条件が異なり、スリッページや約定遅延という「バックテストに存在しない要素」が初めて現れます。
- バックテストとの乖離を測る:同じ期間のバックテストを回して、実運用の成績と比較します。乖離が小さければ、ロットを段階的に引き上げていきます。
- 停止基準を決めておく:「最大ドローダウンがバックテストの1.5倍を超えたら停止」など、感情を挟まない撤退ルールを事前に決めます。
フォワードテストにTitanFXが向く理由
フォワードテストでは、バックテストとの乖離をできるだけ小さくしたいところです。TitanFXはNDD方式で約定の透明性が高く、スプレッドも業界最狭水準のため、「コスト要因による乖離」を小さく抑えられます。またEAの稼働制限がないため、テスト中に口座を凍結される心配もありません。高頻度売買のEAなら、実質コストの低いブレード口座が適しています。約定条件の詳細は約定力の検証記事をご覧ください。
よくある質問
モデリング品質が90%になりません
原因はほぼヒストリカルデータの不足です。「ツール」→「オプション」→「チャート」でバー数の上限を最大にしたうえで、ヒストリーセンターから対象通貨ペアの1分足を再取得してください。また、モデルが「全ティック」以外になっていると90%は表示されません。
バックテストで勝てるのに実運用で負けるのはなぜですか?
主な原因は3つです。(1) スプレッドを実際より狭く設定していた、(2) スリッページと約定遅延を織り込んでいない、(3) パラメータが過去に合わせ込まれている(カーブフィッティング)。特にスキャルピング型EAは、1回あたりの利幅が小さいため、この3つの影響を強く受けます。
テスト期間はどれくらい必要ですか?
最低2〜3年、可能なら5年以上を推奨します。加えて、総取引回数が200回を下回るテストは統計的な信頼性が低く、偶然の結果である可能性が高くなります。取引頻度の低いEAほど、長い期間が必要です。
デモ口座とリアル口座で結果が変わりますか?
変わります。デモ口座は約定が理想的に処理されるため、実際よりも良い成績が出やすい傾向があります。デモは「EAが正しく動くかの動作確認」、リアルの最小ロットは「実際の成績の検証」と、役割を分けて考えてください。
MT4とMT5、どちらでバックテストすべきですか?
これから始めるならMT5です。実ティックに基づく検証ができ、処理も高速で、複数通貨ペアの同時テストにも対応しています。ただし手持ちのEAがMT4専用なら、MT4で検証するほかありません。EAファイルに互換性はない点に注意してください。