MT4 EAの最適化の方法

2019年04月11日

MT4にはEAの最適化を行うことができる機能があります。今回は最適化の説明とその方法について案内していきます。

最適化とはMT4 EAに設定されているパラメーターの値を、最も良い値に置き換えていく作業となります。最適な値に置き換えることでMT4 EAのパフォーマンス向上が期待できます。しかし、パラメーターの値の置き換えに失敗すると反対にパフォーマンス低下となってしまう恐れもありますので、FX中級者以下の方はパラメーターの値の変更は避けたほうが良いという考えも一般的に浸透しています。

具体的に最適化では、パラメーターの値変更だけでなく、様々なパラメータの組み合わせでバックテストを実行し、パフォーマンスを比較しながら最適な数値を見つけ出していく作業です。この作業を手動でおこなうと途方もない手間と時間がかかりますが、MT4を活用するとこの作業を半自動的におこなってくれるため作業効率が格段に上がります。

なお、当社が配布している無料EAのパラメーター設定は当社が最も良いと考えたパラメーターの設定となりますのでFX中級者までの方はデフォルト設定でご使用ください。今回はMT4 EAの正しい最適化の方法として皆様にご紹介していきます。

当社はMT4 EAの開発を専門に手掛がける会社です。MT4 EAにご興味のあるかたは以下のボタンから無料EAをご取得ください。

無料EA一覧

最適化をおこなう理由

以下の二つの理由からMT4 EAを使用して最適化をおこなう方がいます。

1.MT4 EAの良いパラメーター設定をみつけるため。
2.MT4 EAの利益率、勝率、ドローダウン率などのパフォーマンスを向上させるため。

最適化作業には相場を読む力が必要です。FXの中級者以下の方は最適化をお控えください。

保有しているMT4 EAを自分好みにしたい方は最適化をおこなうことで改良していくことができます。

最適化の注意点

最適化をおこなう際はオーバーフィッティングに注意点する必要があります。

オーバーフィッティングとは、あまりにも特殊な相場状況にパラメーターを合わせてしまい、通常相場では機能しないような設定をしてしまうことです。良くあるオーバーフィッティングは直近数日や数週間の相場データを使用した最適化です。その短期間の相場にしか対応できないMT4 EAができてしまいます。

株式相場や先物相場など、どんな相場でも同じですが、同じ相場は二度と現れません。そのため少なくとも6ヶ月以上の長い期間の相場データを使用して最適化を行う必要があります。

最適化をおこなう準備と実行

MT4には自動的に最適化をおこなう機能である「ストラテジーテスター」が付いていますが、最適化機能を利用するためには以下二つの準備が必要です。

1.最適化をおこなうMT4 EAを準備すること。
2.ヒストリカルデータを取得すること。

当社が無料配布しているMT4 EAでも最適化が可能です。お持ちでない方は以下ボタンから無料EAを取得してください。

無料EA一覧

ヒストリカルデータとは過去の相場の1分ごとの始値、終値、高値、安値が記録されたいわゆる四足値といわれるものです。ヒストリカルデータをMT4にインポートすることで初めてMT4 EAの最適化が可能となります。当社では高精度のヒストリカルデータを提供しているFXDD社のものをお勧めしています。

FXDD社ヒストリカルデータ

ヒストリカルデータのインストール先やMT4へのインポート方法の詳細は以下をご覧ください。

ヒストリカルデータの設定

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

MT4 EAの最適化で利用できる「ストラテジーテスター」を利用します。MT4の画面上にストラテジーテスターを表示させるには、MT4のメニューから「表示」→「ストラテジーテスター」をクリックします。

※なお、このページでは当社の無料EAである「FXAR1」を例に説明していきます。このEAの使用通貨ペアはUSDJPY、使用時間足は5分足となっています。

opt1

また以下の画像のようにMT4のツールバーにストラテジーテスターの表示をON・OFFさせるボタンがあります(画像の赤枠で囲ったボタン)ので、そちらをクリックしてもけっこうです。

opt2

ストラテジーテスターは以下の画像のようにチャートの下に表示されます。

opt3

ストラテジーテスターが表示されたら、それぞれの項目の設定を行います。

赤枠部分をプルダウンさせると以下のように「エキスパートアドバイザー」か「インディケーター」を選択できますので「エキスパートアドバイザー」を選択してください。

syusei1 opt5

次に最適化するEAの選択です。以下の画像をご覧ください。

赤枠部分をプルダウンさせると以下の画像のようにMT4にインストールされているEAが表示されますので、最適化するEAを選択します。このページでは当社の無料EAである「FXAR1」を選択します。

syusei2 syusei3

次に最適化するEAの通貨ペアを選択します。

赤枠の部分の「通貨ペア」をプルダウンさせると以下の画像のように通貨ペアが選択できますので、最適化するEAで使用する通貨ペアを選択します。MT4 EA「FXAR1」の使用通貨ペアはUSDJPY。

syusei5

次は「モデル」欄です。最適化の精度を選択する項目です。

赤枠部分をプルダウンさせると以下の画像のように最適化の精度を選択できます。

・全ティック ⇒ 最も正確なバックテストができますが、最も時間を必要とします。
・コントロールポイント ⇒ 全ティックよりも精度は落ちますが、テストは早く終了します。
・始値のみ ⇒ 精度は一番劣りますが、最も早くテストは終了します。

今回は「始値のみ」を選択。高い精度を求める方は「コントロールポイント」や「全ティック」を選択してください。

syusei7

次に「期間を指定」です。最適化を行う期間を設定します。

①の「期間を指定」にチェックを入れます。
②の「開始日」には最適化を行う期間の開始日を入力します。今回は「2018.1.1」からとします。
③の「終了日」には最適化を行う期間の終了日を入力します。今回は「2019.1.1」までとします。

syusei8

次は「期間」です。最適化を行うEAの時間足を選択します。

赤枠部分の「期間」をプルダウンさせると以下画像のように時間足を選択することができます。

「M1:1分足」、「M5:5分足」、「M15:15分足」、「M30:30分足」、「H1:1時間足」、「H4:4時間足」、「Daily:日足」からEAが使用する時間足を選択します。MT4 EA「FXAR1」は5分足を使用しているため「M5:5分足」を選択。

syusei10

次は「スプレッド」。最適化を行うさいのスプレッドを選択します。

赤枠部分の「スプレッド」では以下画像のようにスプレッドが選択できます。

最適化で使用するスプレッドを「2:0.2pips」、「5:0.5pips」、「10:1.0pips」、「30:3.0pips」、「50:5.0pips」、「100:10.0pips」から選択します。

MT4のスプレッドはポイント表示です。1ポイント=0.1pipsです。

なおスプレッドには直接数値を入力することも可能です。ここではFX取引で一般的な2.0pipsに設定しますので「20」と入力しました。

syusei12

次に以下の画像の①の「最適化」にチェックを入れ、②の「エキスパート設定」をクリックします。

syusei13

「エキスパート設定」をクリックした後、以下の画像のような別ウインドウが開きますので、「テスト設定」タブを選択していることを確認してください。

syusei14

まず初期証拠金を設定します。以下の画像をご覧ください。

①初期証拠金:証拠金額を自由に設定します。(ここでは10000USDで説明)
②通貨を設定(日本円の場合は半角大文字で「JPY」と直接入力)

syusei15

次にポジションの種類を選択します。

赤枠部分の「ポジション」をプルダウンさせると以下の画像のようにポジションの種類が選択できます。

・Long only:ロング(買い)ポジションのみで最適化を行います。
・Short only:ショート(売り)ポジションのみで最適化を行います。
・Long & short:ロング、ショート両方のポジションで最適化を行います。

ここでは一般的な「Long & Short」で説明。

syusei17

次に最適化パラメーターを設定します。

赤枠部分の「最適化パラメーター」をプルダウンさせると、以下の画像のようにパラメーターを選択できます。

Balance:残高
Profit Factor:プロフィットファクター(利益率)
Expected Payoff:支払期待値
Maximal Drawdown:最大ドローダウン
Drawdown Percent:最大ドローダウン率
Custom:カスタム

ここでは一般的なBalanceで説明

syusei19

次に以下の画像のように「遺伝的アルゴリズム」にチェックを入れます。

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

syusei20

次は以下のようにMT4 EAの「パラメーターの入力」のタブを選択します。

「パラメーターの入力」タブをクリックすると最適化をおこなうMT4 EAの項目一覧が表示されます。

左から「変数(項目名)」、「値(現在の値)」、「スタート(開始値)」、「ステップ(加算していく値)」、「ストップ(終了値)」となります。

数値の変更は各数値をダブルクリックすることで直接入力できるようになっています。

最適化で重要なのは「スタート、ステップ、ストップ」の三つです。

例えば、スタートを1、ステップを1、ストップを10と設定した場合、最適化はスタートの1からスタートし、次はその1にステップの1を加算した2で最適化が行われます。次は2に再びステップの1を加算した3で最適化が行われます。このようにして「ストップ」で設定した10まで最適化は続きます。

syusei21

それではパラメーターを入力してみますので以下の画像をごらんください。

今回はFXAR1のパラメーターの中の「tp_weighting」を最適化してみます。

まずは「tp_weighting」の左側にあるチェックボックスにチェックを入れます。

最適化の範囲は今回は「1.0」からスタートして「0.1」ずつ加算し「5.0」まで実行することにします。まずはスタートに「1.0」を入力します。そしてステップに「0.1」を入力します。ストップに「5.0」を入力し最後にOKボタンを押してください。 opt18

これで設定は全て完了しましたので、以下の赤枠ボタンで最適化をスタートします。

スタートボタンのクリックで最適化が始まり、以下2枚目の画像のように緑のメーターが動き出します。

最適化が終了するまでの時間はパソコンの性能(特にCPUの性能)に大きく影響を受け、パソコン側にも負担がかかりますので、長い時間が必要となる最適化は控えた方が良いでしょう。

以下2枚目の画像の赤枠で囲まれた部分が最適化終了までの目安時間(時間:分:秒)です。最適化開始からしばらく経過すると表示されますが、この時間が数時間にも及ぶ処理であれば、変数の幅を狭くしたりして対応すると良いでしょう。

opt19 opt19.1

最適化が完了したら以下の画像のようになり、以下1枚目の画像の赤枠部分の「最適化結果」タブをクリックしてください。

クリック後は2枚目の画像のような形に切り替わります。赤枠の項目は左から「パス(最適化が行われた順番)」、「損益」、「総取引数(取引の総数)」、「プロフィットファクタ(利益率)」、「期待利得(平均損益:損益÷総取引数)」、「ドローダウン$(最大ドローダウン額)」、「ドローダウン%(最大ドローダウン率)」、「パラメーターの入力(パラメーターの組み合わせ)」となり、それぞれの項目をクリックすることで降順に並べ替えたり、昇順に並べ替えたりすることができます。

例として3枚目の画像をご覧ください。最もプロフィットファクタ(利益率)が大きかったものを一番上にする場合は、項目の「プロフィットファクタ」をクリック。その結果、今回の最適化で最もプロフィットファクタが良かったものは「3.37」でした。この行の「パラメーターの入力」の項目を見ると「tp_weighting=3」となっています。つまりtp_weightingが3.0の時が最もプロフィットファクターが良かったということになります。

opt20 opt21 opt22

次に複数のパラメーターの組み合わせで最適化を行ってみましょう。

今度は、1枚目の以下画像のように、先ほどの「tp_weighting」に加えて「sl_weighting」も最適化してみます。スタートは5.0、ステップは0.2、ストップは20.0です。設定が完了したらOKをクリックし、先ほど同様に最適化をスタートさせます。以下の画像をご覧ください。

2枚目の画像は最適化結果です。先ほどと同様にプロフィットファクターをクリックし、プロフィットファクターが大きかった順番に並べました。「パラメーターの入力を見ると最も結果が良かったものは「tp_weighting=2.6」、「sl_weighting=17.8」の組み合わせでした。他の結果を見てもそれぞれ、別な組み合わせになっているのが分かると思います。

opt23 opt24

これらの最適化の結果を見て、自分の好みのパフォーマンスが出ているパラメーターの組み合わせを見つけて、それをMT4 EAに設定していくことが最適化の重要ポイントとなります。

パラメーターをEAに反映させる方法

最適化で良いパフォーマンスのパラメーターの組み合わせを見つけても、MT4 EAに反映させなければ意味がありません。

MT4 EAに反映させる手順としては、以下の画像のようにMT4のツールバーの「ナビゲーター」ボタン(赤枠部分)をクリックします。

opt25

以下の画像のようにナビゲーターがMT4の左側に表示されたことが確認できれば、「エキスパートアドバイザ」の中からMT4 EA(今回は無料EAであるFXAR1)を選びチャートにドラッグ&ドロップしてMT4 EAをチャートに設定します。

opt26

MT4 EAがチャートに設定できましたらチャート上で右クリック。すると以下画像のような別ウインドウが開きますので、「エキスパートアドバイザ」→「設定」とクリックします。

opt28

そうすると以下の画像のように別ウインドウが開きますので「パラメーターの入力」タブをクリックしてください。この段階では「tp_weighting」と「sl_ weighting」の数値は初期値になっています。

opt27

次に先ほど最適化で得られたパラメーターの数値「tp_weighting=2.6」、「sl_weighting=17.8」を入力していきます。数値変更は各パラメーターの値をダブルクリックすることで入力可能になり、変更後の画面は以下の画像のようになります。入力後は「OK」のクリックによりMT4 EAのパラメーター変更が完了となります。変更したパラメーターを初期値に戻したい場合は「リセット」(緑枠部分)のクリックで元通りになります。

opt29

以上で最適化作業は全て完了となります。

当社の無料MT4 EAの最適化

当社が無料でリリースしているMT4 EAはリリース時の相場に対して最適化を施しておりますが、ある程度の相場変動には対応できるような設定にしております。

また相場が大きく変動した場合には、その都度メンテナンスを施しアップデートバージョンをリリースしております。

FX上級者の方々でしたら、もっとピンポイントな最適化を施しより大きな利益を得る事も可能でしょう。

当社のリリースするEAにはパラメーター項目が多く最適化によって大きくパフォーマンスを変えられるようなMT4 EAも複数リリースしております。

当社のMT4 EAはどなたにでもすべて無料で提供しておりますので、ご興味のある方はブログ訪問をきっかけにぜひ下のボタンより無料EAを取得されてください。

無料EA一覧

ブログランキングにも参加していますので、ページ訪問をきっかけに是非クリックをいただけると嬉しいです。

にほんブログ村 為替ブログ FX初心者向けアドバイスへ にほんブログ村