MT4でEAの最適化をおこなう方法

EAの最適化とは

最適化とは、EAに設定されているパラメーターの値を優れた値へと置き換えていく作業のことをいいます。パラメーターを優れた値に置き換えることでEAパフォーマンスが向上しますが、優れた値に置き換えることができなければパフォーマンスは低下します。最適化は簡単ではないためMT4の取扱いに慣れたFX上級者向けの作業となります。

最適なパラメーターの値を見つけるためには複数のパラメーターを組み合わせて色々な値に置き換えながら検証を繰り返していきます。この作業をアナログ的におこなうと途方もない手間と時間がかかるため、MT4の最適化という機能を使って半自動で優れた値を見つけていくことになります。以下より最適化の手順を案内していきます。

最適化についての基礎知識

最適化をおこなう理由は大きく2つあります。1つ目は、より優れたパラメーター設定をみつけるため。2つ目は、勝率や利益率を重視するなど好みの設定にEAをカスタマイズするためです。リスクを取らない設定を求めて最適化をおこなう方もいます。

最適化を実行する上で注意すべきはオーバーフィッティングです。オーバーフィッティングとは、特殊な為替相場の期間だけに合わせて最適化をおこない、通常の為替相場では機能しないパラメーターに設定してしまうことです。特殊な為替相場の期間とは、直近数日から数週間といった短い期間や相場変動が激しい期間のことを指します。最適化をおこなう場合は少なくとも6ヶ月以上の為替相場データ(ヒストリカルデータ)を使用してください。

MT4 でEAの最適化をおこなう手順

MT4 でEAの最適化をおこなう手順

最適化をおこなうために用意するもの

ステップ1

最適化を実行するには「最適化をおこなうEA」と「高精度なヒストリカルデータ」を用意する必要があります。EAをお持ちでない方は当サイトから無料EAを申請してください。高精度なヒストリカルデータはFXDD社から無料で取得することができ、ヒストリカルデータの設定方法のページでご案内しています。

無料EA

ストラテジーテスターの設定

ステップ2

MT4のツールバーの「表示」から「ストラテジーテスター」をクリックして、ストラテジーテスターを表示させてください。ストラテジーテスターはツールバー付近にある「虫眼鏡マーク」のクリックで表示させることもできます。

ストラテジーテスターの表示方法

トラテジーテスターの表示方法2

MT4の下部に表示されたストラテジーテスターの中には「エキスパートアドバイザー」と「インディケーター」が選べる項目がありますが「エキスパートアドバイザー」を選択してください。

エキスパートアドバイザーの選択

エキスパートアドバイザーの隣にあるボックスをクリックして最適化を実行するEAを選択してください。このページでは「FXAR1」という通貨ペア「USDJPY」、時間足「5分足」のEAで説明を進めていきます。

EAの選択

EAの選択2

通貨ペアのボックスをクリックして最適化をおこなうEAが指定する通貨ペアを選んでください。FXAR1の通貨ペアは「USDJPY」であるため「USDJPY US Dollar vs Japanese Yen」を選択します。

通貨ペアの選択

モデルのボックスは最適化の正確性を選択する項目です。このページでは最適化が一番早く完了できる「始値のみ」を選択します。「全ティック」を選択すると正確な最適化が実行されますが時間がかかります。「コントロールポイント」を選択するとは全ティックに比べて正確性は落ちますが時間短縮ができます。

最適化の正確性を選択

次は「期間を指定」から最適化を実行する期間の設定をおこないます。期間を指定のチェックボックスにチェックを入れ、開始日(今回は2018.1.1)と終了日(今回は2019.1.1)を入れてください。終了日は最適化をおこなう日付を入れるのが一般的です。

最適化を実行する期間の設定

期間のボックスをクリックしてEAが指定している時間足を選択してください。FXAR1は5分足のEAであるため「M5」を選びます。時間足は「M1:1分足、M5:5分足、M15:15分足、M30:30分足、H1:1時間足、H4:4時間足、Daily:日足」となります。

時間足の選択

スプレッドのボックスをクリックして最適化を実行するスプレッドを決定します。FX取引の一般的なスプレッドは2.0pipsであるため「20」を選びます。MT4のスプレッドはポイント表示(1ポイント=0.1pips)であり「2:0.2pips、5:0.5pips、10:1.0pips、30:3.0pips、50:5.0pips、100:10.0pips」となります。数値は直接入力することも可能です。

スプレッドの選択

次は最適化のチェックボックスにチェックを入れ、「エキスパート設定」のボタンをクリックしてください。MT4の画面上にエキスパート設定の別画面が表示されますので次の項目へとお進みください。

エキスパート設定を選択

エキスパート設定

ステップ3

MT4の画面上にエキスパート設定の画面が開きましたら、テスト設定のタブが開いていることを確認して初期証拠金の設定をおこないます。このページでは10000USDに設定をして説明を進めていきますが、初期証拠金は自由に設定することができます。100万円に設定したい場合は以下画像のように「1000000、通貨を半角大文字でJPYと直接入力」することで100万円を設定することができます。

初期証拠金の設定

次はポジションのボックスをクリックします。ここでは一般的なポジションである「Long & Short」を選択します。ポジションは全部で3種類あり、Long onlyは「ロング(買い)ポジションのみ」、Short onlyは「ショート(売り)ポジションのみ」、Long & shortは「ロングとショート(買いと売り)両方のポジション」という意味になります。

Long & Shortを選択

最適化パラメーターのボックスをクリックします。最適化パラメーターは、何をターゲットとして最適化を実行するかを決める項目で、ここでは一般的な「Balance」を選択します。

最適化パラメーターは全部で6種類あり、Balanceは利益重視、Profit Factorは利益率重視、Expected Payoffは支払期待値重視(トレード当たりの平均損益)、Maximal Drawdownは最大ドローダウンを低くする、Drawdown Percentは最大ドローダウン率低くするという設定になります。Custom(カスタム)はEAのプログラム内でOnTester関数を使用した形式に沿って最適化を実行するという設定です。

最適化パラメーターの選択

遺伝的アルゴリズムのチェックボックスにチェックを入れます。遺伝的アルゴリズムにチェックを入れることで、有効性の高い組み合わせを自動抽出し、最大で1万通りほどの組み合わせに絞って最適化が実行されます。遺伝的アルゴリズムのチェックを忘れるとパラメーターの組み合わせの数が膨大になり最適化が終了するまでに途方もない時間がかかりますのでご注意ください。

伝的アルゴリズムにチェック

エキスパート設定の「パラメーターの入力」のタブをクリックしてください。EAに設定されているパラメーター一覧をみることができ、左の列(縦軸)から「変数(項目名)、値(設定されている値)、スタート(開始値)、ステップ(加算していく値)、ストップ(終了値)」となっています。

EAの最適化で重要となるのは「スタート、ステップ、ストップ」の3つであり、例えば「スタートを1、ステップを1、ストップを10」と設定した場合、最適化はスタートの1から始まり、次は1にステップの1を加算した2が実行され、次は2に再びステップの1を加算した3が実行され、ストップに設定した10まで最適化が実行されていきます。

パラメーターの入力タブ

設定をしたEA(FXAR1)の「tp_weighting」というパラメーターを最適化するために、tp_weightingのチェックボックスにチェックを入れ、「スタートに1.0、ステップに0.1、ストップに5.0」と値を入力し最後にOKボタンを押してください。

tp_weightingにチェック

ストラテジーテスターで最適化を実行

ステップ4

再びMT4のストラテジーテスターの設定画面に目を移し「スタート」ボタンをクリックすると緑のメーターが動きだし最適化が始まります。最適化にかかる時間の目安はスタートボタンの上に「時間:分:秒」で表示されます。数時間かかるようであればストップボタンを押し、パラメーターの入力画面に戻り、「スタート1.0、ステップ0.1、ストップ5.0」から「スタート1.0、ステップ0.1、ストップ3.0」などと狭くして対応すると良いでしょう。

ストラテジーテスターをスタート

時間の目安

メーターが緑一色になれば最適化の完了です。最適化結果のタブをクリックしてください。

最適化結果のタブをクリック

最適化結果は左から、パス(最適化が行われた順番)、損益、総取引数(取引の総数)、プロフィットファクター(利益率)、期待利得(平均損益:損益÷総取引数)、ドローダウン$(最大ドローダウン額)、ドローダウン%(最大ドローダウン率)、パラメーターの入力(パラメーターの組み合わせ)となっており、列(縦軸)の項目をクリックすることで降順や昇順に並べ替えをおこなうことができます。

最適化結果の項目説明

プロフィットファクター(利益率)をクリックして並べ替えたところ「3.37」が最も優れた結果となりました。この行(横軸)の「パラメーターの入力」を見ると「tp_weighting=3」となっていますので、今回の検証でプロフィットファクターを最大化するにはtp_weightingの値を3.0とするのが良いということが分かりました。

プロフィットファクターの並び替え

パラメーターを組み合わせて最適化を実行

ステップ5

複数のパラメーターを組み合わせた最適化の実行方法を解説します。ストラテジーテスターのセッティングタブをクリックし、最適化にチェックが入っていることを確認して「エキスパート設定」をクリックしてください。

エキスパート設定画面のパラメーターの入力タブをクリックしてください。ここでは「tp_weighting」と「sl_weighting」の2つのパラメーターを組み合わせて最適化を実行しますので、両方のチェックボックスにチェックを入れます。tp_weightingを「スタート1.0、ステップ0.1、ストップ5.0」、sl_weightingを「スタート5.0、ステップ0.2、ストップ20.0」に設定してOKボタンをクリックした後、ストラテジーテスターの画面から「スタート」ボタンをクリックして最適化を実行します。

画像1

2つのパラメーターを組み合わせて最適化

最適化が完了しましたら最適化結果のタブをクリックしてください。プロフィットファクター(利益率)をクリックして値が大きい順に並べ替えて、パラメーターの入力項目を見てみると「tp_weighting=2.6」、「sl_weighting=17.8」の組み合わせが最も優れた結果となっていますので、この値をEAのパラメーターに組み込んでいきます。

プロフィットファクターを並び替え

最適なパラメーターの値に置き換える

ステップ6

最適化によって導き出したEA(このページではFXAR1)のパラメーターの値を入力していきます。MT4のナビゲーターのエキスパートアドバイザーからEAを選択し、EAが指定するチャート(FXAR1の場合はUSDJPYの5分足)にドラッグ&ドロップし、チャート上で右クリックをして「エキスパートアドバイザー」→「設定」と進めて、EAのエキスパート画面を表示させてください。

EAをチャートに入れる

エキスパート画面を表示

エキスパート画面の「パラメーターの入力」タブをクリックすると現在のパラメーターが表示されますので、最適化により導き出した「tp_weighting=2.6」、「sl_weighting=17.8」の値に置き換えて、最後に「OK」ボタンをクリックするとEAのパラメーターの値が置き換わります。(パラメーターの値を初期値に戻したい場合は「リセット」ボタンで元に戻ります。)

値に置き換え

MT4でEAの最適化を実行する方法の説明は以上となります。最適化をおこなったEAを実際のMT4口座で稼働させたいという方は、EAの設定手順と稼働方法のページをご覧ください。

当社が配布している無料EAについて

ポイント

当社では専門家チームがMT4の開発ツールで作成したEAをすべての方に無料で配布しています。MT4の操作や設定方法についても24時間体制でサポートしていますので、ページ訪問をきかっけに無料EAを申請してみてください。

無料EA

大注目の人気コンテンツ