今日のランチはフレスコの贅沢巻き200円(おいしいですよ)
名もない極悪EAは500円の損害を私にもたらしました。
悲惨な試験でしたが、もう一つ確かめておきたいことがあります。
名もないEAは連続でOrderSendを繰り返しています。
使えるネットで12回発注できたという事はMT4は83ms程度で
発注を繰り返す能力があるという事です。
ところが自宅PCの場合200ms程度の距離的遅延があるはずですが、
連続でOrderSendしてもオーダーが欠けることもなく発注されます。
二回目のOrderSendは一回目の発注が終わるまで待っているという事ですね。
一回目の発注が終わったかどうかはブローカーのMT4サーバーの決める事です。
という事はMT4から発注した注文が発注完了、もしくは未完了の裁定をブローカーが決め
その結果を受け取ってから次を発注する仕組みですね。
確かめたいことはここからです。
ブローカーから受け取ったシグナルはすぐに処理されるのか
16ms以内の割り込み待ち時間があるのか
だいすけさんに教えていただいた魔法のスペル
EventSetMillisecondTimer(3)これで試してみたいと思います。
エントリーはOnTick()で行うがOrderSendはOnTimer内で動かしてみましょうw
最大16ms という事は平均8ms これを3ms毎に監視すれば
6.5ms/発注 短縮できるかもしれません。
6.5ms x 12回で 78ms短くなればもう一回発注できるかも!!
OnTimer内の関数をOnTickで動かすとどうなるかも疑問ですね
さーてここまでは正しいかどうかも謎ですが、取りあえずやってみましょう
0 件のコメント:
コメントを投稿