大量のMT5バックテストから成績上位だけを選ぶとSelection Biasが強まりやすい。重複結果、少数取引、期間依存、過大ドローダウンを順番に除外し、Forward Testまで残すEA候補の選別方法を整理します。
試行回数が増えるほど「良い成績」は見つかりやすい
EA開発では、パラメータ、銘柄、時間足、期間を組み合わせれば数千件のバックテストを容易に生成できる。しかし試行回数が増えるほど、偶然高いProfit Factorや純利益を示す結果も増える。これはSelection Bias、つまり多数の候補から成績の良いものだけを選ぶことで、実際以上に優位性があるように見える問題である。
2026年8月29日にMQL5で公開された研究例では、8,404件の候補ファイルから4,720件のPerformance Reportを抽出し、3,399件のUnique Result Signature、2,464件のReal Tickベース結果へ整理したうえで、内部基準を通過した候補は1,027件まで絞られている。重要なのは4,720件を試したことではなく、何を理由に除外したかである。
最初に重複結果を除外する
同じEA設定を異なるファイル名で保存した場合や、結果が実質的に同一のテストを複数回実行した場合、それらを別戦略として数えると候補数を過大評価する。
そのため、Net Profit、Trade Count、Drawdown、Profit Factorなど複数指標からResult Signatureを作り、同一結果をまとめる方法が有効である。パラメータ値だけでなく、生成された損益系列まで比較できれば、より厳密に重複を検出できる。
少数取引の高成績を優先しない
10回の取引でProfit Factor 3.0を記録したEAと、500回で1.5を維持したEAでは統計的な意味が異なる。大量最適化では少数取引の極端な結果がランキング上位へ現れやすい。
そのためMinimum Trade Countを設定し、取引数が基準未満の結果を早い段階で除外する。勝率や平均損益を見る場合も、サンプル数とセットで評価する必要がある。
利益だけでなくDrawdownで切る
Net Profitランキングだけを使うと、リスクを大きく取ったEAが上位に残りやすい。候補選別ではEquity Drawdown、Recovery Factor、最大連敗などを同時に確認する。
特にBalance DrawdownよりEquity Drawdownを重視することで、含み損を抱えながら最終的に回復した戦略を過大評価しにくくなる。利益が大きくても、許容できないDrawdownを持つ候補はこの段階で捨てる。
Real Tickと複数期間で再確認する
初期スクリーニングでは高速なモデリングを使っても、最終候補はReal Tickベースで再テストした方がよい。スプレッド変動やティック順序の影響を受ける短期EAでは、モデリング方式による成績差が特に大きくなりやすい。
さらに期間を分割し、特定の相場環境だけで利益が集中していないかを確認する。トレンド局面だけで利益を出し、レンジ期間で継続的に損失を出すEAなら、その特性を把握したうえで候補として扱う必要がある。
最後にForward Testへ渡す
MT5には最適化期間とは別のForward期間で上位設定を再テストする機能がある。公式仕様では、完全探索では上位10%、遺伝的アルゴリズムでは上位25%の最適化結果がForward Testへ送られる。
ここで重要なのは、In-Sample順位が高いEAではなく、Forward期間でも利益、Drawdown、取引頻度などの性質が大きく崩れないEAを残すことである。
まとめ
大量最適化では「最も儲かったEAを探す」ことより、「偶然良く見えたEAをどの順番で捨てるか」が重要になる。
重複結果、少数取引、過大Drawdown、特定期間依存、モデリング依存を段階的に除外し、最後にForward Testで再確認する。試行回数が増えるほどSelection Biasも強くなるため、候補生成と候補採用を明確に分離した検証プロセスを設計する必要がある。







