ForexBestRobots.comEAを比較 →
JA

テクニカルガイド · 堅牢性テスト

過剰最適化を避けてForex EAを最適化する方法

In-sample、Out-of-sample、Forwardテストを使い、過去だけに適合した不安定な設定を避けてForex EAを最適化します。

14 分で読めますForexBestRobots編集チームによるレビュー済み
Forex EA最適化で不安定なピークと安定したパラメータ領域を比較する図テクニカルガイド実践的でリスクを重視したガイド

ForexBestRobots.comのために制作したオリジナル図解です。

最適化の目的は、相場環境が変わっても妥当性を保てる設定を探すことです。最も美しい過去の損益曲線を作ることではありません。未使用データと現実的なコストで確認された、広く安定したパラメータ領域を重視します。

Forex EA最適化で不安定なピークと安定したパラメータ領域を比較する図
孤立した最高値より、周辺でも崩れない広い安定領域を優先します。

最適化前に合格基準を決める

純利益だけでなく、EAに求める動作を評価できる基準を選びます。最大ドローダウン、取引数、平均損益、Profit Factor、回復過程、エクスポージャーをまとめて確認します。利益が大きくても、ドローダウンが許容外、または取引数が少なすぎる結果は堅牢とは言えません。

一つの指標が別の弱点を隠すことがあります

利益だけを最大化すると、過大なリスク、偶然に有利な期間、小さすぎるサンプルを選びやすくなります。

短期取引の成績を解釈する前に、MT4スキャルピング検証のデータ、情報時刻、約定仮定を確認してください。

開発用と検証用のデータを分ける

履歴を時系列で分割します。前半で探索し、後半をOut-of-sample検証用として触らずに残します。その後、決定した設定を現在のデモデータでForward観察します。検証結果を何度も見ながら再調整すると、その期間も事実上の学習データになります。

01 · In-sample探索

妥当な範囲を試し、挙動を理解する。

02 · Out-of-sample検証

選定に使っていない期間でルールを確認。

03 · Forward観察

現在のシグナル、コスト、約定を確認。

MT4で行う実践的な最適化手順

1

役割が説明できるパラメータを選ぶ

エントリー、決済、リスクに合理的な役割を持つ変数だけを最適化し、固定値は固定したままにします。すべてのInputsを試すと組み合わせと偶然のノイズ発見が増えます。

2

広く意味のある範囲を使う

最初は粗めのStep(刻み幅)と現実的な上下限を使います。一つの値だけが機能するなら不安定です。近隣値でも似た挙動が得られるか確認します。

3

リスクとサンプル品質で絞る

過大なドローダウン、少なすぎる取引数、非現実的なロット、短期間に集中した利益を除外します。利益順位ではなく、残った安定領域を比較します。

4

設定を固定して検証する

未使用期間を開く前に設定を決定します。EAビルド、銘柄、時間足、スプレッド、初期証拠金、期間、すべてのInputsを記録します。

選択領域をストレステストする

テスト確認すること健全な挙動
近隣Inputs小さな変更で崩れないか。結果が急落せず段階的に変化する。
高いスプレッドコストで優位性が消えないか。現実的な余裕を加えても論理が残る。
期間の移動一つの相場環境だけに依存しないか。複数期間が結果に寄与する。
約定遅延完全な条件での約定が前提になっていないか。中程度のスリッページで結論が逆転しない。
低リスク過大なエクスポージャーだけで良く見えないか。保守的なロットでも取引論理が維持される。

最適化結果を棄却すべき兆候

  • 最高値が弱い結果に囲まれた孤立したピークになっている。
  • 一つの取引または短期間が利益の大半を占めている。
  • Out-of-sampleでドローダウンが急増する、または取引動作が大きく変わる。
  • わずかなスプレッドやスリッページ増加で優位性が消える。
  • 選択したロットが予定する口座リスクに合わない。

最適化は将来の利益を証明しません。弱い仮説を除外し、追加検証に値する設定を見つけるための工程です。

後の検証期間を独立したまま保つ

例として2020–2023で開発し、2024–2025を後の検証用に残し、2026に新たなフォワード観察を始めます。これは期間分割の例であり、実施済みテストの成績ではありません。未使用レポートを開く前に選択ルールを固定します。読んだ後に設定を変えたら、その期間は開発データになります。

ウォークフォワードでは、各選択に評価期間より前のデータだけを使います。損失となった候補も含め、期間と選択ルールを記録してください。全期間を見てから手順を繰り返し設計し直すと、手順自体が過剰最適化される場合があります。最適化も独立した検証も将来の成果を保証しません。

公式のMT4最適化設定に、パラメータ範囲と遺伝的探索が説明されています。

利益が最大でも事前の基準を満たさなければ除外する

開発用データでドローダウン10%以下、取引数100以上という学習用の選定基準を仮定します。候補Aはリターン30%、ドローダウン14%、250取引。Bは14%、7%、140取引。Cは20%、6%ですが、取引数は18です。この事前基準ではAはリスク超過、Cは標本不足で除外され、Bが検証候補に残ります。数値は架空であり、実績でも普遍的な合格基準でもありません。

Bの優位性が証明されたわけではありません。近傍パラメーター、コスト、未決済のエクスポージャー、有効証拠金とドローダウンの検証資料を確認します。数値の選別を通過しても、例外的な一時期や非現実的な約定条件に依存している可能性があります。

未使用の検証期間を見る前に、除外候補を含めて判断を記録します。その後、ルールと見直し条件を固定したフォワード検証手順を実施します。検証結果を見て選定条件を作り直した場合は、新たな開発過程として記録し、別の独立したデータを確保します。

公式リファレンス

MetaTrader公式のExpert Advisor最適化ヘルプでは、異なるInputsでStrategy Testerを繰り返し実行する仕組みを説明しています。