MT4でEAを最適化するには、ストラテジーテスターでEAを選び、最適化したいパラメータにチェックを入れてスタート・ステップ・ストップを決めます。最後に「最適化」にチェックを入れてスタートを押します。
操作そのものは数分で終わります。迷うのはその後です。結果一覧で一番儲かった値をそのまま使うと、本番で成績が崩れることが少なくありません。
以下では、MT4に標準で入っている「MACD Sample」の実画面を使います。パラメータ範囲の決め方、遺伝的アルゴリズムを使う目安、最適化結果タブの列の意味、最適化グラフと2Dサーフェスの読み方を順に確認します。
MT4のEA最適化とは?
MT4のEA最適化とは、ストラテジーテスターでEAのパラメータを少しずつ変えながらバックテストを繰り返し、成績が良くなる値を探す機能です。例えばボリンジャーバンドの2σから逆張りするEAなら、期間をいくつにすると一番利益が出るのかを、値を変えながら1つずつ検証していきます。
最適化で押さえる3つのポイント
MT4ストラテジーテスターで最適化する手順
MT4の最適化は、バックテストと同じストラテジーテスターの画面で行います。
バックテストとの違いは2つだけです。「エキスパート設定」でパラメータごとに試す範囲を指定することと、「最適化」にチェックを入れることです。例に使うのは、MT4に標準で入っているEA「MACD Sample」です。
最適化の手順
EAを選びエキスパート設定を開く
MT4のストラテジーテスターを開いて最適化したいEAを選択し、「エキスパート設定」をクリックします。「パラメーターの入力」タブにパラメータ一覧が表示されます。

スタート・ステップ・ストップを決める
最適化したいパラメータにチェックを入れ、スタート・ステップ・ストップを決めます。ここではMACDOpenLevelにチェックを入れ、1から5までを1ずつ検証します。

チェックを入れていないパラメータは、「値」欄の数値で固定されたまま動きません。チェックを入れたパラメータでは「値」欄は使われず、スタートからストップまでをステップ刻みで試します。
試す回数(パス数)は、パラメータごとの「(ストップ−スタート)÷ステップ+1」を掛け合わせた数です。今回のMACDOpenLevelは1〜5を1刻みなので5パスです。
スタート・ステップ・ストップとパス数
MACDOpenLevel で試す値
スタートの1から、ステップ刻みで試す
パス1:値1でバックテスト
パス2:+1して値2でテスト
パス3:値3でテスト
パス4:値4でテスト
パス5:ストップの5で終了
(5−1)÷1+1=5パス
※パラメータが複数あるときは、各パラメータのパス数を掛け合わせた回数になります。
仮に1パス3秒かかるとすると、810パスは約40分、65,610パスは約55時間です。1パスの所要時間はEA・期間・モデルで大きく変わるため、比率の目安として見てください。
刻みを10pipsから1pipsにしただけで、時間は81倍に膨らみます。そのうえ細かい刻みほどノイズに合わせ込みやすくなります。上の表で5〜10刻みを目安にしているのは、この2つが理由です。
最適化パラメータと遺伝的アルゴリズムを選ぶ
エキスパート設定の「テスト設定」タブでは、何を基準に良し悪しを決めるか(最適化パラメータ)と、遺伝的アルゴリズムを使うかどうかを選びます。
「遺伝的アルゴリズム」にチェックを入れると、全組み合わせは試しません。成績の良い組み合わせ同士を掛け合わせながら有望な範囲を探すため、時間を大幅に短縮できます。
使うかどうかの目安はパス数です。前の節の計算例の810パスのように数百〜数千程度なら、チェックを外して総当たりにしたほうが全パスの結果を見比べられます。前後の値も成績が良い「なだらかな山」かどうかを確かめるには、抜けのない結果が必要です。
数万パスを超えるときは遺伝的アルゴリズムをオンにし、見つかった値の前後だけを範囲にして総当たりで確かめ直すと確実です。探索にランダムな要素があるため、同じ設定でも実行するたびに結果が変わることがあります。
最適化タブで打ち切り条件を決める(任意)
同じエキスパート設定の「最適化」タブでは、見込みのないパスを途中で打ち切る条件を設定できます。チェックを入れた条件に達したパスはそこで中断され、次のパラメータの組み合わせに進みます(条件の一覧はMT4公式ヘルプ「Setup」に基づく)。
何も設定しなくても最適化は動きます。組み合わせが多く時間がかかるときに、ドローダウン率などで明らかに使えない組み合わせを早めに切り上げる、という使い方で十分です。
最適化をスタートする
「最適化」にチェックを入れてスタートボタンを押します。

最適化結果タブの見方
最適化された結果が一覧に表示されます。1〜5を1ずつ検証したので、5つの結果があります。今回はすべて損益がマイナスになりましたが、損益が一番大きいのはMACDOpenLevelが3の場合でした。

結果タブの各列の意味は次のとおりです。列の見出しをクリックすると、その列の値で昇順・降順に並べ替えられます(列の定義はMT4公式ヘルプ「Optimization Results」に基づく)。
最適化結果で右クリックするとメニューが表示されます。

結果の行をダブルクリックしても「パラメータの設定」と同じ動作になり、そのパスの値がEAの入力パラメータに入ります。このとき画面は「設定」タブに戻り、最適化モードは解除されます。そのままスタートを押せば、選んだ値で通常のバックテストを実行して資産曲線やレポートを確認できます。
最適化グラフの見方
「最適化グラフ」タブを選択すると結果をグラフで見られます。グラフで見ることは、後述する過剰最適化を防ぐために大事な作業です。

グラフにはパスごとの損益が描かれ、下の部分には各パスの勝ちトレード(緑)と負けトレード(赤)の数が表示されます。気になる点をダブルクリックすると、最適化結果タブの該当するパスに移動します。
複数パラメータの最適化と2Dサーフェスの見方
複数のパラメータを同時に最適化すると、パラメータの組み合わせでパフォーマンスを測れます。1つずつ最適化するよりベストな組み合わせを見つけられる可能性があります。
手順は1つのときと同じで、最適化したいパラメータすべてにチェックを入れるだけです。ここではMACDOpenLevelとMACDCloseLevelにチェックを入れています。

損益が一番良かった組み合わせはMACDOpenLevelが2、MACDCloseLevelが2の場合でした。


グラフの上で右クリックして「2Dサーフェス」をクリックすると、2次元で可視化できます。色が濃いところが損益の大きい組み合わせです。


2Dサーフェスでは、濃い色が「点」ではなく「面」で広がっている組み合わせを選びます。濃い点が1つだけ孤立している場合は、その組み合わせだけ偶然良かった可能性が高いためです。
最適化結果から値を選ぶときの注意点
最適化を進めるとバックテストは綺麗になっていきますが、やりすぎるとバックテストと本番の結果に大きな差が出ます。バックテスト通りの利益が本番で出ないEAになってしまう状態を、過剰最適化と呼びます。
下の画像は途中までの期間で最適化をかけたバックテストです。最適化に使っていない最後の方の期間は、結果がよろしくないことがわかります。

過剰最適化の例をグラフで見てみましょう。1番目のパラメータだけ他より飛び抜けて成績が良くなっています。1番目の値だけがたまたま相場に合ったと考えられます。こうした飛び抜けた値を選ぶと、過剰最適化につながります。

MT4とMT5の最適化機能は何が違う?
最適化の考え方はMT5でも同じですが、テスターの機能には差があります。特に大きいのは、最適化に使わない期間を自動で残す「フォワード」機能の有無です。
本記事の操作手順はMT4の画面です。MT5はテスターの画面構成が異なるため、同じ考え方で実際のMT5画面に沿って読み替えてください。
おまけ:資産曲線の形でわかるEAの4タイプ
何回もバックテストの資産曲線を見ていると、そこからEAの特性がなんとなくわかるようになります。代表的な4つの形を紹介します。
損小利大

資産がジワジワ減った後に、勝ちトレードでそれまでの負けをカバーしているのが特徴です。負けることが多いので連敗に耐えながらの運用になりますが、負けに慣れてしまえばメンタルへ大きなダメージになるトレードはほとんどありません。
損大利小

資産が増えるところは緩やかに増え、減るところでは急激な角度で減るのが特徴です。
ナンピン

資産曲線がほぼ負けなしで直線的に右肩上がりになっているのが特徴です。下の「数量」と書かれた緑の線はロット数で、ロットをどんどん増やして含み損をカバーしているナンピンタイプだとわかります。ロットが極端に大きくなることがあるため、資金管理を徹底しないと破産します。
後半失速型

成績が良さそうに見えますが、よく見ると後半で成績が落ちているのが特徴です。手法が通用しにくくなってきていると考えられます。それでも使えなくなったとは限らないため、稼働させながら様子を見るのが現実的です。
MT4のEA最適化でよくある質問
MT4でEAを最適化するときに迷いやすい点をまとめました。遺伝的アルゴリズムの使いどころ、結果が表示されないときの確認箇所、MT5との違いなど、手順の途中でつまずきやすい論点です。詳しい操作は各見出しの本文と画像もあわせて確認してください。
Q1. MT4の最適化で遺伝的アルゴリズムは使うべき?
パス数が数百〜数千程度なら使わずに総当たりにし、全パスの結果を見比べるのがおすすめです。数万パスを超えるときはオンにして時間を短縮し、見つかった値の前後を総当たりで確かめ直します。探索にランダムな要素があるため、実行するたびに結果が変わることがあります。
Q2. MT4で最適化したのに結果が表示されないのはなぜ?
最適化結果タブの右クリックメニューで「マイナスの結果を表示しない」にチェックが入っていると、損失になったパスは表示されません。すべてのパスが損失なら一覧は空になります。チェックを外すと損失のパスも表示されます。
Q3. 最適化パラメータ(Balanceなど)はどれを選べばいい?
MT4ヘルプの定義では、Balance・Profit Factor・Expected Payoffはそれぞれ残高・プロフィットファクタ・期待利得が最大の組み合わせを、Maximal Drawdown・Drawdown Percentはドローダウンが最小の組み合わせを良い結果とみなします。迷ったらBalanceで回し、結果タブの列見出しで並べ替えてプロフィットファクタとドローダウンも見比べます。
Q4. MT4でもフォワードテストを最適化と同時にできる?
できません。MT4のストラテジーテスターには、MT5の「フォワード」のように期間を自動で分ける機能がありません。期間を指定して前半だけで最適化し、選んだ値で残りの期間を通常のバックテストにかけて確かめます。
Q5. 最適化結果の値をEAに反映するには?
最適化結果タブで行を右クリックして「パラメータの設定」を選ぶか、行をダブルクリックします。そのパスの値がEAの入力パラメータに入り、画面は設定タブに戻って最適化モードが解除されます。
Q6. MT4の最適化グラフでは何を見ればいい?
パスごとの損益の並び方を見ます。一部の値だけが飛び抜けている形より、前後の値も同じくらい良い「なだらかな山」になっている範囲から選ぶほうが本番で崩れにくくなります。パラメータが2つなら右クリックの「2Dサーフェス」で、濃い色が面で広がっている組み合わせを探します。
まとめ
- 最適化はバックテストの結果が良くなるパラメータを選ぶ作業。手順は「EA選択→パラメータにチェック→範囲指定→最適化にチェック→スタート」
- 結果タブは列見出しで並べ替え、損益だけでなくプロフィットファクタとドローダウンも見比べる。最適化グラフは点をダブルクリックすると該当パスに移動できる
- 複数パラメータは同時に最適化し、2Dサーフェスで「面」で良い組み合わせを選ぶ
- 飛び抜けた値・細かすぎる刻み・全期間の最適化は過剰最適化のもと。3〜5個に絞り、直近期間を残してテストする
- MT4のテスターには最適化と同時にフォワード期間を分ける機能がない。期間を分けて手動で確かめる(MT5は「フォワード」で自動分割できる)
- 資産曲線の形からEAの特性(損小利大・損大利小・ナンピン・後半失速)を読み取る
※本記事は情報提供を目的としたもので、特定のEA・金融商品の売買を推奨するものではありません。FX(外国為替証拠金取引)は元本が保証されておらず、レバレッジにより預けた証拠金を上回る損失が発生する可能性があります。記事内の成績・数値は過去の実績であり、将来の利益を保証するものではありません。投資の最終判断はご自身の責任でお願いします。




