MT4のEAパラメーター最適化を設定して通常テストで確認する手順

MT4のEAパラメーター最適化は、入力値の探索範囲を設定し、変える変数にチェックを入れ、テスターの「最適化」を有効にして実行します。候補が見つかったら、その行の入力値を適用し、最適化を外した通常のバックテストで確認するところまでが一連の操作です。
この記事では、FX自動売買の検証でつまずきやすい「値とスタートの違い」「変数のチェック」「結果を通常テストへ戻す方法」を順に説明します。利益上位の設定をそのまま実運用へ入れず、別期間とデモ口座で確認する考え方もまとめます。
対象はデスクトップ版MT4です。日本語表示や配布元・ビルドにより項目名が異なることがあるため、公式ヘルプの英語名も添えています。以下の数値は操作説明用の仮定で、推奨設定や運用実績ではありません。
- 通貨ペア・時間足・期間・スプレッドを固定する
- 動かす変数だけを選び、Start・Step・Stopを設定する
- 最適化を実行し、利益とリスクから候補を絞る
- 候補の値を適用して通常テストへ戻し、未使用期間でも確かめる
MT4のEAパラメーター最適化を設定する手順

目的と採用条件を決める
MT4 EAのパラメーター最適化を始める前に、まず決めたいのは「何を良い結果と呼ぶか」です。純利益だけを最大化すると、たまたま特定期間に合った危ない設定を選びやすくなります。利益、最大ドローダウン、取引回数、連敗の深さ、月ごとの偏りをまとめて見て判断します。
たとえば、利益が大きくても取引回数が極端に少ないEAは、数回の勝ちトレードで成績が膨らんでいるだけかもしれません。逆に、取引回数が多くてもドローダウンが深すぎるなら、口座資金に対して耐えにくい設定です。最適化は数字当てではなく、運用に残せる候補をふるい分ける作業ですね。
最大ドローダウンの上限、最低取引回数、連敗時に許容できる損失、フォワードで見る期間を先に決めておくと、あとから都合のよい結果だけを選びにくくなります。
この採用条件は、EAのロジックごとに変わります。スキャルピングなら取引回数とスプレッド耐性を重視しますし、デイトレード寄りなら月ごとの収益のばらつきも見たいところです。口座資金やロット設定によっても許容できるドローダウンは変わるため、最終的な売買判断はご自身のリスク許容度に合わせて慎重に行ってください。
テスターを開き、比較条件をそろえる
MT4の「表示」から「ストラテジーテスター」を開き、対象のEA、通貨ペア、時間足、モデル、スプレッドを選びます。「期間を指定」を有効にして、最適化に使う開始日と終了日を入力してください。EAの説明書で対応通貨・時間足・入力値の単位を確認してから進めます。
「エキスパート設定(Expert properties)」の「テスト設定(Testing)」では、初期証拠金や売買方向などを確認します。最適化パラメータは評価の基準で、たとえばBalanceは残高を基準に探索する指定です。画面で何を選んだかと、候補の採用条件を別々に残してください。
候補同士の比較では、ロット・初期証拠金・スプレッド・データ・モデルを同じにします。ロットまで同時に動かすと、売買条件の改善と単に取引量を増やした効果を分けにくくなります。まず変更前の値で通常テストを一度行い、比較の基準を作ると見直しやすいです。
ValueとStart・Step・Stopの違いを確認する
「エキスパート設定」の「パラメーターの入力(Inputs)」を開きます。入力欄には通常テスト用の値と、最適化の探索範囲が並んでいます。数値を入力しただけで最適化対象になるわけではなく、変数名の左側のチェックも必要です。
| 欄・操作 | 役割 | 確認すること |
|---|---|---|
| 変数のチェック | その入力値を最適化で変化させる | 動かす変数だけをチェックする |
| 値(Value) | 通常テストに使う入力値。最適化でチェックしない変数の固定値にも使う | 通常テストへ戻したときの値を確認する |
| スタート(Start) | 探索を始める値 | EAで許される範囲・単位を確認する |
| ステップ(Step) | 探索値を増やす刻み幅 | 0にせず、最初は細かくしすぎない |
| ストップ(Stop) | 探索範囲の終わりの値 | Start以上の現実的な上限にする |
チェックを入れた変数はStart・Step・Stopで探索し、チェックを外した変数はValueで固定します。たとえばValueが20でも、チェック済みの探索範囲がStart=10、Step=5、Stop=20なら、最適化では10・15・20が候補になります。Valueだけを変えても、その変数の探索範囲は変わりません。
これらの仕様はMetaTrader 4公式ヘルプの最適化設定で確認できます。表示名だけで判断せず、通常テストの値と探索範囲を分けて見ましょう。
変数を絞り、組み合わせ数を見積もる

最初は、ロジックの中心になる少数の変数に絞ります。短期MA、長期MA、RSI、損切り、利確、曜日・時間フィルターを一度に動かすと、組み合わせが増えるだけでなく、何が効いたかも分かりにくくなります。補助条件は固定して比較します。
次は、二つの整数入力を持つ架空のEAで、全組み合わせを調べる場合の例です。変数名は説明用で、使っているEAに同じ項目があるとは限りません。
| 仮の入力値 | Start | Step | Stop | 探索する値 | 候補数 |
|---|---|---|---|---|---|
| 短期MA期間 | 10 | 5 | 20 | 10・15・20 | 3 |
| 長期MA期間 | 30 | 10 | 50 | 30・40・50 | 3 |
この例では短期3候補×長期3候補で、全組み合わせは9通りです。たとえば短期10と長期30・40・50を組み合わせ、短期15、20でも同じように比べます。終点まで刻みが割り切れる整数例なら、候補数は「(Stop−Start)÷Step+1」で求められます。
短期のStepを1にすると11候補になり、長期3候補と合わせて33通りです。さらに5候補の変数を加えると165通りになります。範囲を広げたり刻みを細かくしたりする前に、必要な比較かを考えてください。EAが受け付けない組み合わせや途中打ち切りがある場合、完走する回数は計算上の組み合わせ数と一致しないことがあります。
最適化を有効にして実行する
- 「パラメーターの入力」で動かす変数の左側にチェックを入れ、Start・Step・Stopを設定する。固定する変数はチェックを外し、Valueを確認する。
- 「テスト設定」で評価基準と「遺伝的アルゴリズム」の使用有無を確認する。必要な場合は「最適化」タブの制限条件も確認する。
- 「OK」で設定画面を閉じ、テスター本体の「最適化(Optimization)」にチェックを入れる。
- EA・通貨ペア・期間などが意図した条件か見直し、「スタート(Start)」を押す。完了後に「最適化結果」を開く。
テスター本体の「最適化」が無効なら、スタートを押しても探索にはならず、Valueを使う通常テストになります。また、エキスパート設定内の「最適化」タブは、ドローダウンなどによる各試行の打ち切り条件を管理する場所です。最適化を始める本体のチェックとは役割が違います。
遺伝的アルゴリズムは、候補を選びながら探索を進める方式です。全組み合わせを一つずつ試す方法とは異なるため、先ほどの9通りや33通りを必ずすべて調べたとは扱えません。広い範囲の候補探しに使う場合も、気になる周辺値が結果にないなら、範囲を絞った追加テストで確認します。
MetaQuotesの遺伝的アルゴリズムの解説は、選択・交差・変異を繰り返して探索する仕組みを説明しています。探索の速さと、全候補の確認が済んでいることは分けて考えてください。
結果は利益だけでなく周辺の値も比較する
最適化結果を見ると、つい一番上の利益だけに目が行きます。ただ、採用しやすいのは「一点だけ高い設定」ではなく、周辺の値でも大きく崩れない設定です。たとえば利確幅が30なら良いけれど、29や31で急に悪化するなら、その値にだけ過去データが合っている可能性があります。
見る指標は、純利益、プロフィットファクター、最大ドローダウン、取引回数、期待値、連敗数を組み合わせます。特にプロフィットファクターだけが高くても、取引回数が少なすぎると信頼しづらいです。バックテスト指標の読み方に不安がある場合は、先にMT4 EAバックテスト結果の見方で基本指標を確認しておくと判断しやすくなります。
| 指標 | 見たいこと | 注意点 |
|---|---|---|
| 純利益 | 収益性 | これだけで採用しない |
| 最大ドローダウン | 耐えやすさ | 資金量とセットで見る |
| 取引回数 | 検証の厚み | 少なすぎる候補は慎重に扱う |
| 期待値 | 1回あたりの傾向 | スプレッド変化も想定する |
比較するときは、候補を3〜5個に絞って横並びにします。最も利益が高い候補、ドローダウンが浅い候補、バランスが良い候補を分けて見ると、運用目的に合う設定を選びやすいです。短期間で大きく勝つEAを目指すのか、低ロットで長く観察するEAにするのかで、採用基準は変わります。
選んだ候補を通常テストへ戻す

最適化結果の行を見つけただけでは、個別の売買履歴を十分に確認できません。候補の入力値を通常テストへ移し、同じ期間・条件で一度再実行します。最初は未使用期間へ切り替える前に、選択した値が正しく反映されたかを確認しましょう。
- 「最適化結果(Optimization Results)」で候補の行を選び、右クリックして「Set Input Parameters」(入力パラメーターの設定に相当する項目)を実行する。
- 「セッティング(Settings)」へ戻り、テスターの「最適化」のチェックが外れていることを確認する。公式ヘルプでは、この操作で最適化が自動的に無効になると説明されている。
- 「エキスパート設定」→「パラメーターの入力」で、Valueが選んだ候補の値になっているか確かめる。固定していたロットなども確認する。
- まず最適化時と同じ通貨ペア・時間足・期間・モデル・スプレッドで「スタート」を押す。結果・グラフ・レポートで売買履歴と損失の並びを見直す。
候補行のダブルクリックでも入力値を適用できます。どちらの方法でも、実行前にValueと最適化OFFを目で確認すると、以前の設定を試したり、再び探索を始めたりする取り違えを防げます。適用先はテスターの入力値であり、運用中の別チャートのEAまで自動で更新されるとは考えないでください。
操作の根拠はMetaTrader 4公式ヘルプの最適化結果です。最適化一覧と個別テストで結果が大きく違う場合は、候補の値・固定値・期間・モデル・スプレッド・データが一致しているかを先に確認します。
MT4のEAパラメーター最適化後に候補を確かめる

最適化に使わなかった期間で比較する
同じ条件で候補の再テストができたら、パラメーターを固定したまま、最適化に使っていない期間へ変更して通常テストを実行します。同じデータで探し、同じデータで良かったから採用、では過去への当てはまりしか確かめられません。
| 確認段階 | 入力値と期間の扱い | 目的 |
|---|---|---|
| 最適化 | 探索範囲を決めて候補を探す | 利益とリスクから候補を絞る |
| 同じ期間で再テスト | 選んだ候補のValueを固定し、最適化OFF | 値の反映と個別売買を確認する |
| 未使用期間で再テスト | Valueは変えず、期間だけを切り替える | 別の値動きでも極端に崩れないか見る |
| デモ口座でフォワード確認 | 確認済みの値で今後の動きを観察する | 約定・スプレッド・稼働環境も含めて見る |
たとえば最初の3年を候補探索、続く1年を未使用期間の比較に分ける考え方があります。これは期間分割の例であり、4年あれば十分という基準ではありません。取引頻度や利用できるデータ、トレンド・レンジ・急変動を含むかに応じて設計します。
未使用期間の結果を見て何度も調整すると、その期間も調整に使ったデータになります。再調整した候補を同じ期間で試し直しただけで、独立した確認が済んだとは扱わないようにしてください。比較で崩れた場合は、採用を急がず設定や検証の組み方を見直します。
データの欠落や通貨ペア・時間足の不一致があると、設定値の差よりデータの差が結果を左右します。準備を見直す場合は、MT4ヒストリカルデータの入れ方と確認点を参照してください。
過剰最適化を見抜く
過剰最適化は、過去データに合わせすぎた状態です。バックテストではきれいに右肩上がりでも、別期間やデモ口座では急に崩れることがあります。MT4 EAのパラメーター最適化で一番避けたい失敗例ですね。
見抜くコツは、結果のなめらかさと再現性を見ることです。特定の一点だけが極端に良い、隣の値で急に悪化する、取引回数が少ない、ドローダウンが検証期間で急拡大する、といった候補は注意します。最適化結果が良くても、理由を説明できない設定は実運用へ進めにくいです。
- 利益上位の一点だけを採用する
- 検証期間を分けず同じデータで合格にする
- 変数を増やしすぎて偶然の組み合わせを拾う
- スプレッドや約定差を考えずに結果を見る
過剰最適化を完全に避ける方法はありません。ただ、候補を絞る基準を先に決め、別期間で試し、フォワードで観察すれば、危ない候補を減らせます。あくまで過去データ上の検証なので、将来の利益を保証するものではない点も押さえておきたいです。
変更前の設定と候補を保存する

最適化で地味に効くのが、調整ログです。どの期間で、どの通貨ペアで、どのパラメーターを、なぜ変えたのかを残しておくと、あとから失敗の原因を追いやすくなります。ログがないと、成績が崩れたときに「どの設定へ戻せばよいか」が分からなくなります。
ログは難しくなくて大丈夫です。日付、通貨ペア、時間足、変更前、変更後、変更理由、バックテスト期間、検証期間、採用可否を書くだけでも十分役立ちます。特に変更理由は重要です。「利益が増えたから」だけではなく、「ドローダウンを浅くしたかった」「取引回数が少なすぎた」など、狙いを言語化します。
| ログ項目 | 記録例 |
|---|---|
| 変更理由 | 最大DDを下げるため損切り幅を見直し |
| 検証条件 | EURUSD 1時間足、固定スプレッド、同一ヒストリカルデータ |
| 採用判断 | 検証期間でもDDが浅いためデモへ進める |
入力値そのものは、テスターの「エキスパート設定」→「パラメーターの入力」の「保存(Save)」で設定ファイルとして残せます。「変更前」「候補A」など名前を分け、EAの版・期間・モデル・スプレッドなどの検証条件も別途区別してください。読み込み後は内容を確認し、候補の保存ファイルだけで検証条件まで同じになったと思い込まないことが大切です。
フォワード確認へ進める
バックテストで残った候補は、いきなり本番ロットで使わず、まずデモ口座でフォワード確認します。フォワードでは、過去データでは見えなかったスプレッド変化、約定のズレ、通信環境、VPSの安定性なども影響します。ここで崩れるなら、設定ではなく運用環境に原因がある場合もあります。
見る期間はEAの取引頻度によって変わります。取引頻度が低いEAは、同じ観察期間でも取引件数が少なくなります。日数だけで合格にせず、取引件数や相場環境の偏りも確認してください。フォワードテストの見方は、EAのフォワードテストで確認すべき項目でも詳しく整理しています。
- デモ口座で想定通りにエントリーするか
- スプレッド拡大時に無理な取引をしないか
- バックテストよりDDが深くなっていないか
- 停止ルールに該当する場面がないか
フォワードの結果が悪いと、ついまた最適化へ戻りたくなります。ただ、すぐに数値をいじる前に、相場環境、約定条件、稼働時間、ニュース前後の動きも見ます。設定変更で解決できる問題なのか、運用ルールで避ける問題なのかを分けると、無限に再最適化する状態を防げます。
動かないときは設定と結果の表示を分けて調べる
| 症状 | 先に確認すること |
|---|---|
| 一つの値しか試していないように見える | 変数のチェックとStart・Step・Stop、本体の最適化ONを確認する |
| 変えていないはずの条件が違う | チェックを外した変数のValue、初期証拠金、ロットを確認する |
| 一部の組み合わせが見当たらない | 遺伝的アルゴリズム、試行の打ち切り条件、結果一覧の表示設定を確認する |
| 損失のある候補が表示されない | 最適化結果の右クリックメニューにあるSkip Useless Resultsの状態を確認する |
| 候補を選んだのに再び最適化が始まる | 候補適用後のValueと、本体の最適化OFFを確認する |
| 取引がない・途中で止まる | EAの対応条件、入力値の制約、対象データ、操作履歴のエラーを確認する |
結果一覧は表示設定によって見え方が変わります。たとえば損失結果を非表示にしていると、良い候補だけが残ったように見えます。遺伝的探索で未試行なのか、途中で打ち切られたのか、単に一覧で隠れているのかを分けて調べましょう。
ロジックを変える場合も元へ戻せる形にする
EAの入力値だけを変える作業と、売買ロジック自体を組み直す作業は分けます。条件を足した版と入力値だけを変えた版を混ぜると、何が結果に影響したかを追いにくくなるためです。
コードを書かずにEAを作る選択肢を確認するなら、NoCode EA Studioのアプリを開けます(別タブ)。公式案内ではブラウザでロジックを作成でき、MT4・MT5用のEAファイルを受け取るには、パートナーリンク経由の口座開設と口座番号の認証が必要です。ここで説明した最適化操作はMT4側で行います。
EA作成の方法と受け取り条件を確認する
NoCode EA Studioでは、コードを書かずにEAのロジックを作成できます。EAファイルの受け取りには、パートナーリンク経由の口座開設と口座番号認証が必要です。
リンクは別タブで開きます。EAを作成・受け取れることと、売買で利益が出ることは別です。すでに手元のEAを検証したい場合は、新しいツールを使わず、そのEAの説明書とMT4の設定確認から進めてください。
MT4のEAパラメーター最適化を終える前の確認
最後に、動かす変数と範囲、選んだ候補のValue、最適化OFFでの通常テスト、未使用期間での比較、元の設定へ戻すための記録がそろっているかを確認します。候補が一つに決まらない場合や、別期間で条件を満たさない場合は、実運用へ進めず保留にする判断も必要です。
