EAについて MT4

EAのバックテスト最適化の方法と注意点について

最適化とは

最適化とはEAのバックテストの結果がよくなるようなパラメータを選び出すことを言います。
具体例を挙げます、ボリンジャーバンドの2σからの逆張りEAを作ったとします。このボリンジャーバンドの期間をパラメータとすると、期間がいくつだったら一番利益が出るでしょう?これを1つずつ検証していく作業が最適化になります。

最適化の手順

EAを選びエキスパート設定を開く

まずはMT4のテスターを開いて最適化をしたいEAを選択します。その次にエキスパート設定を開きます。

エキスパート設定をクリックし、パラメーターの入力タブをクリックするとパラメータ一覧が表示されます。

パラメータの入力で最適化したいパラメータを選ぶ

最適化を行いたいパラメータにチェックを入れます。今回はMACDOpenLevelにチェックを入れています。

次にスタート、ステップ、ストップを決めます。ここでは最適化したいパラメータとその範囲を指定します。下の例だと1から5までの値を1ずつ検証していきます。

最適化をスタートする

最後に最適化にチェックを入れて、スタートボタンを押せば最適化がスタートします。

最適化結果

すると最適化された結果が一覧に表示されます。今回は1~5の1ずつ検証したので合計5つの検証結果が表示されています。この中から自分がよいと思う結果を選んでいきましょう。今回はすべて損益がマイナスになってしまいましたが、損益が一番大きいのはMACDOpenLevelが3の場合でした。

すべてのパラメータに対してこれを繰り返していけばバックテスト結果はよりよくなっていきます。

最適化結果で右クリックするとメニューが表示されます。ここでいくつかメニューを説明します。「パラメータの設定」をクリックすると今選択しているパラメータをEAに設定することができます。

「マイナスの結果を表示しない」をクリックすると損益がマイナスになるような最適化結果を除外することができます。最適化しても結果一覧に何も表示されない場合はこのメニューにチェックがついているかもしれないので確認してみてください。

最適化グラフのタブを選択すると結果をグラフで見ることができます。グラフで見ることはのちに説明する過剰最適化を防ぐために非常に大事な作業です。

複数のパラメータを最適化する

複数のパラメータを同時に最適化する場合の手順について説明してきます。複数のパラメータを同時に最適化するメリットはパラメータの組み合わせでパフォーマンスを測れるところです。パラメータを1ずつ最適化するよりも2つ同時に最適化したほうがベストな組み合わせを見つけられる可能性があるのです。

パラメータを同時に最適化するには普通の最適化の手順と変わりません。最適化したパラメータすべてにチェックをすればOKです。下の例だとMACDOpenLevelとMACDCloseLevelにチェックを入れています。

そして最適化をした結果が以下の通りです。損益が一番良かった組み合わせはMACDOpenLevelが2、MACDCloseLevelが2の場合でした。

グラフで結果を見ると以下のようになります。

グラフの上で右クリックを押して2Dサーフェスをクリックします。

すると2次元で可視化したグラフを見ることができます。色が濃いところが損益が大きいところです。

最適化の注意点

基本的に最適化をしていくとバックテストが綺麗なEAができていきますが、最適化をやりすぎるとバックテストと本番の結果に大きな差が出てしまうことになります。どういうことかと言うとバックテスト通りに本番で利益が出ないEAになってしまいます。これを過剰最適化と言います。

下の画像は途中までの期間で最適化をかけたバックテストで取引の最後の方は結果がよろしくないことになっているのがわかります。

過剰最適化の例をグラフで見てみましょう。例えば1番目のパラメータです。これは他のパラメータよりも飛びぬけて成績が良くなっています。これはたまたまこのパラメータだけが相場にマッチして成績がよくなったためと考えられます。このようなパラメータを選んでいくと過剰最適化につながるので注意が必要です。

また、最適化のかけすぎにも注意が必要です。例えばストップロスを1pips刻みで最適化してベストな値を見つけていく等細かいメモリまで最適化をかけると過剰最適化になる可能性があります。

-EAについて, MT4
-