【ESCADA】フォワード分析 人誤差が発生する要因


ESCADA-v2.1 ←ESCADA関連記事一覧

今回はリアルフォワード結果とリアルヒストリカルデータによるバックテスト結果を比較して再現性などの確認をしてみたいと思います。ColorYourLifeのようなティック動作するEAでは今回のような比較確認はティック(値動き毎)でバックテストできず再現性が無いのでほぼ意味がありません。MT4のヒストリカルデータ最小はM1データ(4本値+出来高だけ)です。そのため1分毎など始値などで動作するタイプのEAのみ今回の検証が可能です。

 

バックテスト方法

MyfxMarketsPro口座リアルデータを使用する。

チャートを表示することでM1~D1までのリアル口座で配信されたレートを取得する。
M5データだけでは正しくバックテストできないため。
*データ抜けが発生しないようデータ取得毎にチャート上で右クリック→更新を忘れずに行うこと。

Pro口座でバックテストを行う場合は初期証拠金の通貨ペアをUSD→JPYと手動入力すること。
*何故かPro口座にログインしてUSDバックテストするとMyfxMT4が異常動作する。

バックテストは入念に確認したいので全ティックで確認する。

 

検証結果

先週5/2(月)~5/7(土)の比較をしてみて最も気になったのはユーロ円です。

上段がリアルフォワード、下段がバックテスト結果です。

A場面、B場面、C場面でリアルフォワードとバックテストで結果が違います。

スクリーンショット 2016-05-09 09.43.22

私なりに分析してみると

A場面はスプレッドフィルターに掛かりショートエントリーを出来なかったと推測できます。月曜日早朝は週明けということもあり通常は相場オープンから約2時間はスプレッドが安定しません。日本時間で06:00~08:00の時間帯です。火曜~金曜早朝は1時間程度でほぼ安定します。なぜスプレッドが安定する時間を知っているかというと私自身が毎日スプレッドをメモするEAを使ってデータを収集しているからです。

 

B場面とC場面はバックテストではエントリーしてないのにフォワードでエントリーしています。

これはフォワードでチェック動作したタイミングでの価格とヒストリカルに記録された価格が違うために発生したのでは無いか??と推測します。エントリーしそうな時ほど「EAが動作するタイミングが肝」ということです。価格は常に値動いています。また同じEAを使っていてもEAが動作してチェックする価格が人によって微妙に0.1秒などズレが必ず生じます。

100人がESCADA使っても100人が同じトレードをできない可能性がある「ばらつきがある」ということです。ということはティック動作タイプのEAはもっと「ばらつきが大きくなる」と推測するのは簡単ですね(^_^;)他にも微妙な値動きが多いとばらつきも増える可能性がありそうですね。

私の情報を信じてくれる読者の方からも「エントリーしてない」「エントリーしてる」「kawasumiさんと同じじゃない」というご連絡があったりします。もしかしたら今回のことが原因かも??と思いもう少し考えてみました。

私も最近気づいたのですが
fx-egoist.comさんではこっそりMyfxPro口座リアルフォワードを公開してたって知ってました?
このデータと私のデータを比較すれば「ばらつきを証明」できそうです。
Myfxbookのシステム都合上でM15表示にしてます。

スクリーンショット 2016-05-09 10.12.43

スクリーンショット 2016-05-09 10.12.49

やっぱり同じMyfxMarketsPro口座でも人によってトレード内容が違う!!

fx-egoist.comさんはバックテスト通りになっています。そしてA場面の月曜早朝はショートエントリー出来てなかったみたいですね。週明けの早朝スプレッド恐るべし(^_^;)

 

0.1秒などのズレについて考察

私がスプレッドをメモするEAで記録された動作時間を確認してみました。

このEAは1バー毎に動作するタイプのEAです。

なのでEAをセットする分足によって動作間隔を変更できるように設計されています。

私はいつもM5にセットして利用しています。

改めて確認して自分でも驚きましたが「1バー完成≠きっちり5分」のようです(^_^;)

↓データの時間は03時29分57.87秒ということです。あまり気にしてませんでしたが03:30:00で動作している予定が2秒も早く動作していることになります。これじゃ終値確定してないし(^_^;) では一体どこの値をみてエントリー判定しているのか分からない状態だということに気づきました。

ヒストリカルデータは03:30:00で記録されるが

フォワードでの1バー縛り動作制御では03:29:57.87など数秒早くエントリー判定する場合があり、それなら結果が変わってもおかしくない。MT4の脆弱さですね(^_^;)

時間 ドル円 ユーロ円 ユーロドル ポンド円 オージー円
4月9日 03:29:57.87 5 8 5 15 11
4月9日 03:34:57.83 5 9 5 13 11
4月9日 03:39:57.82 5 9 5 15 9
4月9日 03:44:59.49 7 8 6 13 6
4月9日 03:49:58.52 5 10 5 15 8
4月9日 03:54:58.00 6 8 3 12 9
4月9日 03:59:58.12 6 11 4 15 6
4月9日 04:04:58.09 6 8 1 15 9
4月9日 04:09:58.08 5 7 6 17 9
4月9日 04:14:57.95 3 8 5 17 9
4月9日 04:19:58.18 6 8 4 16 9
4月9日 04:25:01.57 4 4 4 14 9
4月9日 04:29:57.80 7 7 4 17 10
4月9日 04:34:58.08 6 1 5 11 8
4月9日 04:39:58.00 4 8 4 17 11

本来であれば「03:30:00」や「04:05:00」など00分,05分,10分,15分,20分,25分,30分,35分,40分,45分,50分,55分で動作して欲しいのですが「1バー完成直前で動作していることがある」つまりMT4のシステムとしてもきっちりとした動作は保証されてないっぽい??

以上のことから

人によって動作タイミングが異なる

エントリーするか、しないか、ギリギリのエントリー判定時は動作タイミングでトレードが変わる。

 

まとめ

やはり早朝スプレッドの再現性には注意が必要。

だがESCADAは基本的にバックテスト通りフォワードでも再現できそうです。

新たな注意点として

MT4システムも「きっちりかっちりしてない」ので誤差が生まれる要因となり得る。

 

システムトレードは勉強すればするほど、検証すればするほど自分の知識となり経験になるので楽しいですねw

ユーザーも勉強してEA開発者さんに負けない知識と経験を身につけましょう。

今回はESCADAに限らずMT4に関わる注意点を発見できたので良かったです!

気になったエントリーはリアルデータでバックテストして確認するのが良さそうですねw

ただ常にPC前に居れる訳では無いのである程度リスクを許容することが必要そうです。

 

ESCADA-v2.1 公式サイトへ

今回のようなkawasumi検証記事を自動で受け取りませんか?

RSS fxonフォローボタン


kawasumi選出 カンブリア宮殿格言とか

fxonでkawasumiをフォローする