2016年5月15日日曜日

OnTick() と OnTimer()

昨日は三条地ビール祭り。
本日は葵祭の賀茂祭りです。
御所から行列が出るのですが、なぜか御所にカウンタックが集合していたようです。
そして、三条に戻ると檀王法林寺で沖縄フェスティバル
18日は御霊祭、21日は五月満月祭り
う~ん しあわせ♪
そして神様にお願いするのは一つ 今日もよいEAができますようにw

さて、今日はリアルテストをバックテストに近づける為の考察です。
EAのソースコードの中のメイン部分は
void OnTick(){・・・・}
の中にあります。
ティックが動くたびに動作します。
つまり一秒間に何回も動いたり何秒間も動かなかったりします。

まだ、試験中ですがお名前.COM VPS米国設置(NYではなかったようです)と日本設置に差がない結論に落ち着きそうです。
片道100ms(0.1秒)程度の遅れはさほど差がないということかもしれません。

では、なぜエントリーが十秒もおくれるのか?
もしかしたらティックが動かないから待っているのかもしれません。

そこで、OnTimerを考えてみました。
OnTimerは設定した時間ごとに動きます。
TakeProfitやStopLossの可変はOntick() で実行し、エントリーはOnTimer設定一秒にすれば、価格の変更はティックが動くたびに変更、エントリーは一秒ごとに実行ということになります。
エントリーをOnTick()からOnTimerにすることで、時間のずれはともかく1ティック分エントリーが早くなるのはメリットです。

しかしOnTimerはバックテストでは一切動きません(汗)
バックテスト完了まではOnTick()でリアルテスト前にはOnTimer()にするとよさそうですね。

VPS米国 vs VPS日本 vs 家のPC vs FX-ONの結果が出ましたら挑戦してみたいと思います。





0 件のコメント:

コメントを投稿