FX
MT5の最適化手順とFX自動売買EAの検証方法

MT5でEAを最適化すると、設定した範囲のパラメーターを組み合わせて、過去データ上の結果を比較できます。FX自動売買では、まず単一テストで動作を確認し、比較したい変数だけを選んで範囲を決め、最適化後に別期間でも検証する順番が大切です。
この記事では、MT5のストラテジーテスターでの設定から、結果表とフォワード期間の読み方、結果が出ないときの確認まで説明します。数値例は操作を理解するための仮定で、推奨設定や利益の保証ではありません。EAやMT5のバージョンにより、画面の名称や入力できる項目は異なります。
MT5の最適化をFX自動売買に使う前に確認すること
最適化は、EAの入力値を変えて複数回の過去検証を行う機能です。たとえば移動平均の期間を複数の値で比べられますが、選ばれた値は使用した価格データと評価基準に左右されます。過去の利益が最大の設定が、将来も最善になるとは限りません。
はじめに、対象EA・銘柄・時間足・期間・初期資金・レバレッジ・ティックモデル・遅延などの検証条件を控えます。EAがその銘柄や時間足に対応すること、変更したい数値が入力パラメーターとして公開されていることも確認してください。利益だけで採用を決めず、取引回数や最大ドローダウンをどう評価するかも先に決めておきます。
まだEAの基本動作を確認していない場合は、MT5でEAを単一バックテストする手順から進めましょう。単一条件で売買のタイミングやエラーを確かめてから値を探索すると、設定ミスとロジックの問題を切り分けやすくなります。
MT5でEAを最適化する設定手順
1. テスターの条件をそろえて最適化方法を選ぶ
Windows版MT5の「表示」からストラテジーテスターを開き、対象EA、銘柄、時間足と検証期間を選択します。単一テストで確認した条件を基準にして、最適化方式と評価基準を設定します。表示の配置は更新や画面幅によって変わるため、各項目の意味を確かめてください。
完全なアルゴリズムは、指定した組み合わせを網羅的に試す方式です。高速遺伝的アルゴリズムは候補を絞りながら探索するため、計算量を抑えやすい一方、すべての組み合わせを調べた結果とは扱えません。範囲が小さい例なら完全な方式で試し、処理量と目的に合わせて選びます。
「エージェント」では実行先も確認します。ローカルエージェントは自分のPCで計算します。MQL5クラウドネットワークは有料なので、意図せず利用しないよう有効状態と料金条件を確認してください。詳しい仕様はMetaTrader 5公式の最適化ヘルプに掲載されています。
2. 入力値と探索範囲を分けて設定する
入力パラメーターの一覧では、最適化したい項目を選び、開始値・ステップ・終了値を指定します。「値」は単一テストなどで使う設定値であり、最適化の範囲とは別です。選択していない項目は固定値として扱われます。EAによって項目名や選択できる値は異なります。
例として、ある期間の開始を10、ステップを5、終了を20とすれば、候補は10・15・20の3つです。別の項目を2つの値で試すと、組み合わせは3×2で6通りになります。実際に意味のある範囲はEAの仕様によって違うため、負の値が使えない項目などは説明書も確認してください。
最初から多くの変数を細かく動かすと、計算時間が増え、たまたま過去データに合った設定を選びやすくなります。まず1〜2項目に絞り、なぜその範囲を比べるのか説明できるようにします。ロットやリスク上限を意図せず探索対象に含めないことも大切です。
3. フォワード期間を指定して実行する
「フォワード」で1/2・1/3・1/4またはカスタムを選ぶと、指定期間の後半を検証用に分けられます。たとえば総期間を4年、1/4を選んだ場合は、おおむね前半3年で最適化し、後半1年で候補を再検証します。正確な境界日は画面で確かめてください。
設定を確認したら開始します。MT5では前半の結果から選ばれた候補が後半でも試されます。公式仕様では完全な方式は上位10%、遺伝的方式は上位25%が基本ですが、最低パス数などの条件があり、少数の候補では全件が再検証される場合もあります。途中で停止したときは完了済みの範囲を確認し、全候補を試したと決めつけないでください。
MT5の最適化結果を比較してFX自動売買の候補を絞る
最適化結果では、評価基準の順位だけでなく、利益、損失、取引回数、ドローダウンなどを同じ条件で見比べます。短い期間に少数の取引で利益が出ただけの候補や、利益が大きくても許容できない含み損を伴う候補は慎重に扱います。表示項目の意味は公式テストレポートの説明も確認してください。
たとえば期間15だけが突出し、10と20で大きく悪化する場合、その一点が過去の値動きに偶然合った可能性があります。近い値でも傾向が続くか、前半と後半の両方で取引数や損失が極端に悪化していないかを見ると、候補の弱点を探せます。それでも将来の安定性を保証するものではありません。
採用候補は入力値を控え、最適化を無効にして単一テストへ戻し、同じ条件で再現を確認します。最適化後に同じ後半期間を何度も見ながら設定を選び直すと、その期間も調整に使ったことになります。可能なら最後の判断に使う別期間を事前に残し、条件と結果を合わせて比較してください。
MT5のフォワード機能は過去データを前後に分ける検証です。これから流れる価格を使うデモ口座での稼働確認とは別なので、候補を絞った後はEAのフォワードテストで確認する項目も参考に、利用する口座・EAに合わせて検証します。デモの約定が本番で再現されるとも限りません。
MT5の最適化が進まない・結果が出ないときの確認
- 変数を選んだか:最適化したい項目にチェックがあり、開始値・刻み・終了値が有効かを確認します。EAが最適化できる入力値を公開していない場合もあります。
- データがそろっているか:銘柄、時間足、期間を確認し、まず短い単一テストを実行します。履歴の取得や不足、取引時間、銘柄名の違いも確認します。
- エージェントが使えるか:ローカルエージェントの有効状態とテスターの操作ログを確認します。計算中はPCの負荷が高くなることがあります。
- 条件が厳しすぎないか:取引自体が発生していない場合は、時間制限やロット、必要証拠金、EAのエラーメッセージを確認し、動作が分かる条件に戻します。
結果が出ないからといって範囲を無制限に広げたり、損失制限を外したりする必要はありません。設定を一つずつ戻し、単一テストでどこまで動くか確かめる方が原因を追いやすくなります。
MT5の最適化を終えた後の確認
MT5の最適化では、比較条件を固定して少数の入力値から始め、フォワード期間を含む複数の視点で候補を評価します。結果の良い一行だけで本番投入せず、単一テストで再現し、未使用期間とデモ環境でも挙動を確認しましょう。損失が許容範囲を超えた場合に停止する条件も、稼働前に決めておくことが大切です。
EA作成ツールの検証範囲を確認する
生成コードの動作テスト・コンパイル結果と、その限界 →記事内の戦略や個別のEAの収益性を検証した結果ではありません。学んだルールを、形にしてみよう。
EA作成ツールを開く ↗