フォワードテスト~ライブ口座稼働まで(第7回)

2018年10月14日

完成

長くなってしまいましたが、「初心者でも作成できるEA」シリーズは今回で終了です。

今回はフォワードテストを実施したうえで、実際に動かすところまで書いていきます。

EAのパラメタを最適化(第6回)の内容をベースに記載していきますので、まだ確認いただいていない方は先に確認をお願いします。

フォワードテスト

フォワードテストとは?

フォワードテストとは、未来を想定したテストになります。

実施方法は通常のバックテストと同じです。

ここまでは、2000年1月1日~2014年12月31日までのデータに対して、バックテスト及び最適化をしてきました。

これでは過去のデータに対して最も成績が良くなるパラメタを選んだだけの話で、今後機能するかが分かりません。

2015年以降のデータでフォワードテストを行うことで、以下のことが分かります。

  • 過去にだけ最適化されていなかったか?
  • 未来で正しく動く可能性が高いか?

 

フォワードテストを実施する

MT5の場合は下図の赤枠部分を選択することで通常のバックテストと同時にフォワードテストが自動実行されますので、この先はMT4をベースに説明していきます。

MT5のフォワードテスト設定

 
前回確定させたパラメタは以下となりますので、設定値が正しいかを確認したうえでバックテストを実行してください。

設定する期間は「2015.01.01」~「2019.01.01」としてください。

項目名
ma_period 100
entry_rsi_buy 10
entry_rsi_sell 90
exit_rsi_buy 90
exit_rsi_sell 10

 

結果を確認する

MT4のフォワードテスト結果

 

 
このような結果になりました。

どうでしょうか?

完全に思った通りの結果とまでは行きませんでしたが、ある程度機能しそうなEAになったのではないかと思います。

現状のプログラムはとてもシンプルなので、更にカスタマイズしてよりパフォーマンスを上げることも考えられます。

 

もしフォワードテストの結果が全然ダメだったら?

この場合は、過剰最適化(カーブフィッティング)してしまった確率が高いです。

もしくはタイミングよくマーケットがガラッと変わってしまったかですが、ほぼ前者です。

そうなった場合には、状況に応じていくつか選択肢があります。

  1. EA自体を破棄する
  2. フィルターなどを加えて再度検証する
  3. 最適化で選択するパラメタを変えて再度検証する

私の場合は、「2, 3」を何回か繰り返してダメな場合は「1」を選択することが多いです。

あまり1つの戦略に固執せず次を考えたほうが健全です。

1万以上のトレード数で過剰最適化はあり得るのか?

先に結論を言ってしまうと、あり得ます。

私も一時期は、トレード数が多ければ極めて堅牢であると考えていました。

勿論少ないよりは堅牢ですが、完全ではないです。

EAを作ることは、過剰最適化との戦いでもあります。

このあたりの話は別で記事にしようと思います。

 

デモ口座で実際に起動してみる

デモ口座は申請済み、という前提で話を進めさせていただきます。

デモ口座自体の申請方法が分からない場合は、各証券会社ごとに申請方法があるので、そちらを参照してください。

まずは赤枠部分を確認してしっかりデモ口座になっていることを確認してください。

また、USD/JPYのM15チャートを開いて動かしますので、そこも確認しましょう。

確認ができたら作成した「PullBackEA」をチャート上にドラッグ&ドロップします。

デモ口座チャートにEAを適用

 
全般タブの「自動売買を許可する」にチェックを入れます。

「DLLの使用を許可する」のチェックは、場合によってはチェックが必要ですが、今回のEAではDLLを使用していないのでチェックなしで進めます。

EA設定(全般)

 
パラメーターの入力タブでこれまでに入力した設定値を入力し、「OK」をクリックします。

※margin_limit(最低証拠金)に関しては、任意の値を設定してください。(デモなのでそこまで意識しなくても大丈夫です。)

EA設定(パラメタ入力)

 
正常に動作しているか確認します。

チャートの右上を見ると、分かりづらいのですが怒った顔のマークになっていると思います。

この顔は、正常に動作していないという意味です。

EA設定後のチャート

 
正常に動作していない理由は、大元であるMT4/MT5全体として自動売買を許可していないからです。

先ほど設定した「自動売買を許可する」のチェックは、あくまでもEA単位のものでした。

そこで、MT4/MT5上部にある「ツール」→「オプション」をクリックします。

MT4MT5のツール、オプション確認

 
「エキスパートアドバイザ」タブを選択し、「自動売買を許可する」にチェックを入れて「OK」をクリックします。

エキスパートアドバイザタブの設定

 
右上の顔がにっこりしたと思います。

これで正常に動いていることが分かります。

設定後のチャート

 
あとは、実際にトレードされるかを見守ってください。

デモ口座なのでロットを増やしてみてもいいですし、手動で決済したらどうなるか?など色々試してください。

基本的にほったらかしで流しておいて、ある程度時間がたったら確認するレベルで大丈夫です。

 

ライブ口座で動かす場合は慎重に

本稼働前に一度立ち止まる
デモ口座である程度想定通りに動いていれば、ライブ口座で動かしたくなります。

もちろん最終的には動かしますが、一度立ち止まって気を引き締めてください。

大事なお金が実際に動きます。

無駄なミスでお金を失うと、その後冷静な判断ができなくなり悪循環になります。

よくある誤りが、ロット数の誤りです。

1と設定すると、10万通貨になるのでテスト時の10倍になってしまいます。

 

最後に

冒頭にも記載しましたが、今回で「初心者でも作成できるEA」シリーズは終了になります。

ここまで見ていただいて、本当にありがとうございました。

文章の未熟さ、画面の分かりづらさ、説明不足から、分かりづらい点も多々あったのではないかと思います。

それでもここまで設定ができたのであれば、今後のEA作成も問題なく実施していけると思いますので自信を持ってください。

投資はそう簡単に儲かるものではありませんが、EAを自作できれば可能性は無限にあります。

お互いシステムトレーダーとしての高みを目指して頑張っていきましょう!

これからもMT4/MT5や投資関連の記事は沢山書いていこうと思います。
また、公開できそうなEAは公開していきます。

EA作成の第2弾はMT4の無料EA第2弾をご覧ください。

番外編ですが、仮想通貨でも同じEAを動かしましたので興味のある方は仮想通貨(ビットコイン)売買で機能するEA作成と現状の問題点解析をご覧ください。

 

自動売買入門のまとめは以下をご参照ください