PRを含みます。

MT4 EAパラメータの最適化を行う方法 カーブフィッティングに気をつけろ!

MT4の利点としてEAのパラメータ変更による最適化(オプティマイズ)が出来る点があります。このパラメータの最適化によりEAのパフォーマンスを最大限に引き出す事が可能です。

今回は前回のバックテスト方法に引き続き、EAの最適化(オプティマイズ)手順を初心者向けに解説します。

MT4 EAパラメータの最適化(オプティマイズ)手順

 

EAパラメータの最適化に関してはじめに 

MT4のEAは殆どがある程度パラメータ(設定)の変更が出来る様になってます。

このEAパラメータの変更とは売買ロジックのエントリーするタイミングやクローズするタイミング、損切のタイミング、取引時間、最大ポジション数等、EAによって設定出来る項目は様々ですが、より相場の値動きにあった設定に調整する事をEAの最適化(オプティマイズ)と言います。

EAには調子が良い時もあれば悪い時もあり、最適化を行う場合、直近の値動きに合わせる方法と、長期で成績が良くなるように合わせる方法があります。

しかしながら未来の値動きを予測する事は困難で、直近の値動きに合わせて最適化を行っても期待した結果が出なかったり、長期間で合わせた場合はどうしても好不調が出やすくなります。

そこをゴリゴリやり直近の値動きでも、長期の値動きでも最高のパフォーマンスが出てたにも関わらず、実際フォワードテストを行うと結果が出ない、これをいわゆるカーブフィッティング(過剰最適化)と言い、カーブフィッティングに陥ることない様にする事は簡単ではありません。

まず販売されているEAはEA開発者が相場の値動きに対し有効なテクニカル指標理解し、複数のテクニカル指標より売買ロジックを作成し、多大な時間をかけ既に最適化をしている点に注目する必要があります。

その販売されている時点でカーブフィッティングになっている物も少なくありませんが、EA開発者が最適化した以上のオプティマイズは容易ではない事が想像出来ます。

とは言え最適化手順をマスターしておく事は重要で、最適化で見違える程安定したEAに変わる事もあります。このEAダメかなと思った物が使い物になった時は嬉しいもので、EAの最適化はMT4を使う上での楽しみの一つでもあります。

 

 

MT4 EAパラメータの最適化の手順

その前にEAバックテストのやり方がわからない方は下記記事からご覧になって下さい。

長期10年間以上のMT4 EAのバックテストを正確に行う方法

 

 

 まず何をテストしたいのかを決める

例えばWhite Bear Z USDJPYでTP(決済指値)がデフォルトで7.0Pipsだけど、近年ドル円はボラティリティが高いけど、本当にTP、7.0Pipsがベストなの?とかWhite Bear Z USDJPYは変更出来ませんが、エントリータイミングをもう少し深く押してからの方が良いのでは等、仮説を立てるのは有効だと考えます。

直近に合わせたいのか、長期で合わせたいのかによっても変わってくるでしょう。

今回はドル円の高いボラティリティに合わせてTPの最適化を行って見る事にします。

 

 

 バックテストを行う手順で「最適化」にチェックを入れる

 最適化の準備

 

バックテストを行う要領でEA、通貨ペア、テスト期間、時間足、スプレッドを設定し「最適化」にチェックを入れます。

①エキスパートアドバイザー:テストを行うEAをセット
②通貨ペア:対応通貨ペアを選択
③モデル:全ティックを選択
④期間を指定にチェック
⑤開始日、終了日を設定、最適化は時間が凄くかかるのでまずは短期でテスト
⑥期間:EAの対応時間足をセット
⑦スプレッド:実スプレッドより広く設定、今回はかなり広めの2.0Pips
⑧最適化にチェックを入れる

「最適化」が表示されてない場合はメタトレーダーのウィンドウの幅を広げて下さい。隠れてるだけです。 

 

 

 エキスパート設定を行う

 先程の画面の「エキスパート設定」をクリックし「テスト設定」タブの設定を行います。

テスト設定画面

 

基本的に上記の様にデフォルトでOKです。

①初期証拠金:バックテストなので多めの10000ドルにします。
②ポジション:買いだけとか売りだけでテストしたい場合以外は「Long&short」

③最適化パラメータ:「Balance」

「遺伝的アルゴリズム」にチェックを入れると、悪い成績のパラメータの集計が省かれ時間短縮になります。

しかしながらパラメータの変化による損益の変化も重要なチェックポイントの為、時間がかかっても良いならチェックを外します。但し複数の項目でテストする場合は途方もない組み合わせとなり時間がかかり過ぎる為チェックを入れます。

今回損益の変化も確認したいのでチェックは外します。

 

 

「パラメータの入力」タブの設定を行う。

 パラメータ入力画面

 

①変数:最適化したい項目
②値:バックテスト時の値で最適化時にはこの値は使われません。

③スタート:テストするパラメータの最小値
④ステップ:テストするパラメータの間隔
⑤ストップ:テストするパラメータの最大値

今回は決済指値をテストするので「takeprofit」にチェックを入れます。

値の部分を変更してなければデフォルト数値です。今回はtakeprofitを7.0Pipsから17.0Pipsまで2.0Pipsずつテストを行う為、「 スタート」に7.0、「ステップ」に2.0、「ストップ」に17.0を入力し「OK」をクリックします。

画面はスクロールでも見れますが、見にくい場合赤丸部分をドラッグして画面を拡大して下さい。

また「最適化」のタブはデフォルトでチェックを入れません。

 

 

 最適化を実行する

 最適化をスタートする

 

スタートをクリックし最適化を実行します。

EAの種類や期間で処理時間は大きく異なります。数十分から数日かかる場合もあります。 

 

 

 最適化の結果を確認する

2015年1月~2016年1月までの最適化結果

 2015-201601White Bear Z USDJPY

 

最適化結果のタブを開くとパラメータの設定値毎の成績を確認出来ます。

想定通り2015年1月以降のドル円はボラティリティが高く、TPを高く設定する程収益が高くなりました。TP、7.0Pipsでもプロフィットファクターが2.05ですが、TP、17.0PipsだとPF3.19と強烈な成績です。収益も2.6倍の760.85ドルです。

 

2015-201601White Bear Z USDJPY最適化グラフ

 

次に最適化グラフのタブを開くとパラメータ設定値毎の収益の変化をグラフで確認する事が出来ます。この様に収益結果が凸凹にならず綺麗に変化して行く場合はTPを増やす方が望ましいと考えられます。

逆に凸凹でその中で高い値は偶々でカーブフィッティング可能性が考えられます。

これを見る限り2015年以降はTPが高い程収益が綺麗に高くなっており、当面値動きが現在のように行くと判断するならばTPは高めの方が良いと言う事となります。

 

次に2011年1月~2016年1月までの最適化結果を見ました。 

 2011-201601White Bear Z USDJPY

 

 2011-201601White Bear Z USDJPY最適化グラフ

 

次に過去5年間で見るとTP、7.0PipsもTP、17.0Pipsも収益に差ありません。しかしながら最大ドローダウンが262.29ドルから740.03ドルに跳ね上がり、プロフィットファクターも1.71から1.31にダウンし安定性がかなり落ちました。

これらの結果より相場の値動きを判断出来る自身があるならば積極的にTPを変更する方が有効だし、ないならばデフォルトのTP、7.0Pipsが平均的に安定していると考えられます。

この後気になるパラメータを実際にバックテストして損益曲線、実際のポジション取りを確認して問題なければフォワードテスト実行です。

 

今回最適化した安定感抜群EAはコチラです ⇒ White Bear Z USDJPY

 

 

最後に

EAの最適化を行う際、単なる設定値を順番に入れ替えてパフォーマンスを見るやり方では単なる数字遊びにすぎずカーブフィッティング陥る可能性は高いでしょう。しかしながら実際のポジション取り等を観察し、もう少し深く入ってからエントリーしたらどうだろうとか、もう少し早く利確したらどうだろうか等、実際のポジション取りを想像しながらオプティマイズする事は有意義でよりEAの特性を深く理解出来、テクニカルにも強くなるのではと考えます。

その結果EAの選び方、ポートフォリオの組み方等様々な面でレベルアップが可能だと考えます。

めたろうの経験上パラメータを大きく変えてバックテスト結果は良くなったがリアルフォワードで良くなる事は殆どなく、ほんの少し変えたら見違える程安定したと言う事は良くあります。微調整程度に考えてやって見ては如何でしょうか。 

 

 

MT4を最高の環境で使おう!

国内MT4口座比較記事はこちら

メタトレーダースプレッド比較 MT4最強口座はコレ!

 

海外MT4口座を使うなら忘れずに!

海外MT4を使うならファイナルキャッシュバックを忘れずに!

 

MT4稼動はVPSディスクトップクラウドが最適!

MT4が使えるVPS、Windowsデスクトップクラウド比較表

 

無料でEAを手に入れるなら!

MT4無料EAまとめ 無料EAだけでもポートフォリオが十分作れる!