米国雇用統計発表(NFP)の時には停止するべきか?
米国雇用統計などの大きな動きが発生する際にはEAを停止しておいた方が安全・・ということは一般的にも言われていることだと思います。
スプレッドが極端に広がることも少なくありませんし、トレンドが発生して一方に大きく動けば良いですが、色々な思惑が発生して行ったり来たりするような動きになるとトレンドフォロー型のこのEAは損失を繰り返す可能性がでてきます。
バックテストで確認
米国雇用統計発表はする日は基本的に決まっているので、プログラムを作って対応することも可能ですが今回は既存のツール(自作)を使うことにしました。
MT4のバックテストで指標発表を回避する!FXCalendarDownloaderとFXCalendarCheckerの使用方法
指標発表の前後5分間停止する
まずはFXCalendarDownloaderで指標発表データをダウンロードしてきて、FXCalendarCheckerをZigzagBreakoutEAに組み込み、停止する指標は重要度・高のみとしました。
バックテストに使用したのはEURUSDのM15です。
上が停止しない場合、下が停止した場合です。単純に指標発表で停止するロジックにすると停止しない場合のほうが損益は良い結果になりました。
PFに関してはわずかに「停止した場合」の方が良くなります。
米国雇用統計発表のみ停止する
FXCalendarCheckerの機能だけでは対応できないため、少し改造しました。読み込んできたカレンダーデータに”USD Unemployment Rate”という文字(失業率)があった場合にフラグを立てておいて、フラグが立っているデータのみ対象とします。
何分停止するべきか?
米国雇用統計のみ停止しとし、停止する時間を最適化してみました。
損益でみると15分が最も良い結果となりました。PFでは45分が良さそうです。(5分から10分刻みで55分までという範囲で実行しました)
1時間足のバックテスト
1時間足と同様に15分足でもバックテストしてみました。
損益でみると停止しない(0分)が最もよく、PFでは50分が良いようです。
ほとんど誤差の範囲ですが1時間足・15分の結果を見ると共に45~50分程度停止するのが良さそうです。
米国雇用統計発表時に停止する方法について
利益だけをみれば「米国雇用統計時に停止する必要は無い」ですが、PFでみると「45~50分程度停止した方が良い」という結果になりました。
大きく動く相場ではスリッページの発生やスプレッドが広がる恐れがあり、そういった事象はMT4のバックテストでは確認できませんので、この程度の差であれば「停止した方が無難」ではないかと思います。
しかし、ZigzagBreakoutEAでは「停止する方法」を現状用意しておらず、手動で停止するしかありません。
※「米国雇用統計発表」のみという指定はできませんが、指標の重要度で停止設定できるExpertAdvisorStopというツール(自作)があります。
手動で停止することができない場合にはこのツールに頼っても良いと思います。
ZigzagBreakoutEAを改修する
いちいち手動で止めるのは面倒ですよね・・EAを内に組み込んでしまうのが楽そうです。
指標情報を取得しようとするとかなり大掛かりな修正になってしまうので、ZigzagBreakOutEAには単純に「第一金曜日の日本時間22時30分(夏時間21時30分)」に停止する」ようなロジックを組み込んでみたいと思います。
今月の米国雇用統計には間に合わないと思いますが、なるべく早く対応する予定です。
「待ちきれない!」という方でZigzagBreakoutEAのソースコードをご購入の方はチャレンジしてみて下さい!
以上、ZigzagBreakoutEAで「米国雇用統計(NFP)の時に停止するべきかどうか」をバックテストから検証してみた結果でした。
【追記】最新版ではNFPで停止する機能を追加しています。(IsNFPFilter)
コメント