リアルタイムで受信したティック(OANDA TY3OJ5K、楽天、FXTF1000、EZインベスト証券)と上記OANDAで受信したデーターを元にバックテストした結果を比べてみました。
こちらの環境はお茶の水です。
PING
OANDATY3 9ms
楽天 9ms
FXTF 18ms
EZインベスト証券 13ms
同時に同じPCでティックを受け取った時の時間とbidを書き込みました。
ソースコード)
void OnTick(){Print(TimeToString(TimeCurrent(),TIME_SECONDS)," ",Bid);}
1分間をエクセルに落とし内容を確認しました。
時間は2018年10月30日 07:41(MT4時間)
見にくいのですが左から楽天、EZ、TXTF、OANDATY3,OANDATesterです。
1秒ごとに色分けをしています。
楽天は0,1,2秒と配信が一番多かったのですが、その次は7秒まで配信無し
EZ社は0秒の配信がありませんでした。
TXTFは0秒に2回配信 次は20秒です。
OANDATY3は0秒の次は3秒
テストは各秒にできるだけ均等になっていましたが5秒の倍数は2回が多くなっています。
しかしバックテストでは秒は考慮されません。
価格がどう動いたかです。
41分のOPEN価格
楽天 112.712 0秒
EZ 112.7121 1秒
FXTF 112.714 0秒
OANDATY3 112.713 0秒
TESTER(O社)112.712 0秒
この時点で各社に差がついています。
気になったのはTESTER OANDA社の生データーを元に3-5-3で作成しているティックが異なっています。MT4のボリュームはティックボリュームですが、ティック数も異なっていました。
※そういえばティック生成方法3-5-3に関する記事がMQL5.COMから削除されていますね・・・
これを見るとA社から受け取ったティックはA社には最適ですが、他の証券会社では合わないということでしょうか。
ティックに頼らないで始値だけTP/SL無しがいいのかもしれません。
そういえば、出品者さんでそこにこだわられている方がいましたね。
TACA様はすでに知っているかもしれませんが、
返信削除Grand-EdellWeissをOANDAの
EURUSD.oj5kとEURUSD.oj1mで動かすと、
oj1mのほうがかなり成績が良いです。
チャートを見ればなんとなくわかりますが、
oj1mのほうがあきらかにヒゲが少ないので、
(細かい値動きが少ないと解釈しています)
トレーリングストップにひっかかりにくいのかな
と勝手に想像しています。
とここまでの事実を元にあほな推測を考えたのですが、
ティックデータの価格をそのまま利用するのではなく、
平均線などをかましてあげて、その価格で判定を行えば
価格の変動が滑らかになり、
トレーリングストップにひっかかるような突発的な
値動きを少し抑えられるのでは?
などと思いました。
抑えたからって成績が良くなるとは限らないよな・・・
やはり、ティックデータの世界は奥が深いなー・・・
これはまたまた興味深いテーマをありがとうございます。
削除以前の検証ではプライスの差は5k ≒ 1m ≠ 3m でした。
特にAskの差が大きく3mはトレイル作成時に値を考慮したほうがいい結果でした。
バックテスト上ではスプレッドの小さいほうが有利な結果ですが、
フォワードで観察すると何かが見えるかもしれませんね。
いろいろと実験をしてみようと思います。
また面白そうな結果が出ましたらご報告しますね!!