2016.09.1418:32:53.234 Test (BR-12.16,H1) TRADE_TRANSACTION_HISTORY_ADD BR-12.16: 0.00 time: 11.455 ms
2016.09.1418:32:53.232 Test (BR-12.16,H1) TRADE_TRANSACTION_DEAL_ADD BR-12.16: 47.130 time: 8.778 ms
2016.09.1418:32:53.231 Test (BR-12.16,H1) TRADE_TRANSACTION_ORDER_DELETE BR-12.16: 0.00 time: 8.457000000000001 ms
2016.09.1418:32:53.231 Test (BR-12.16,H1) TRADE_TRANSACTION_ORDER_UPDATE BR-12.16: 0.00 time: 8.202999999999999 ms
2016.09.1418:32:53.231 Test (BR-12.16,H1) TRADE_TRANSACTION_REQUEST : 0.044326441 time: 8.151 ms
2016.09.1418:32:53.228 Test (BR-12.16,H1) TRADE_TRANSACTION_ORDER_UPDATE BR-12.16: 0.00 time: 5.196 ms
2016.09.1418:32:53.228 Test (BR-12.16,H1) TRADE_TRANSACTION_REQUEST : 0.044326441 time: 5.171 ms
2016.09.1418:32:53.227 Test (BR-12.16,H1) TRADE_TRANSACTION_ORDER_ADD BR-12.16: 0.00 time: 4.184 ms
2016.09.1418:32:53.223 Test (BR-12.16,H1) Start...
2016.09.1418:32:49.753 Test (BR-12.16,H1) AsyncTradesTest: last ping 2.15 ms, build 1417
この問題を「端末カーネルからMQL5コードが呼び出される頻度」と言い換えれば、すべての測定が間違っていることになる:
この場合、ポリゴンを 構築することで、MQL5コールのオーバーヘッドをすべて測定し、興味深い特性を得ることができる。我々の習慣として、次にすべてを数回最適化する。
これは興味深い作業であり、これから対処していく。
わかったよ!そうだ。
すみません、見落としていました。
この問題を「端末カーネルからMQL5コードが呼び出される頻度」と言い換えれば、すべての測定が間違っていることになる:
この場合、ポリゴンを構築することで、MQL5コールのオーバーヘッドをすべて測定し、興味深い特性を得ることができる。我々の習慣として、次にすべてを数回最適化する。
これは面白い作業なので、やってみます。
このようなマニアックなことを放っておかずにいてくれてありがとう!
おそらく、見積もりパケットの到着速度を測定するためには、別のビルドが必要だろう。ちょうど私が測定したかったものです。
リアル口座でのMT5スピードテストを再度お願いします。
取引、自動取引システム、取引戦略のテストに関するフォーラム
CopyTicks」のテスト
fxsaber, 2016.09.13 11:11 AM
OrderSendAsyncを通じてスプレッド内に2つの指値(BuyLimit1_price < BuyLimit2_price)を送信した場合、取引所は同時に(1msの精度で)ビッド価格を改善した2つの連続したティックを生成しますか?
これが何をもたらすかを説明しましょう。
スプレッドの内側で BuyLimit1 が送信されると、取引所からティックがその誕生の時刻とともに送られてきます (新しい Bid が生成されます)。BuyLimit2が送信されると、ティックの誕生時刻とともに別のティックが送信されます。これら2つの時間の違いは、取引所へのMT5取引注文の配信速度特性です。
このような実験による金銭的損失を最小限に抑えるには、2つのBuyLimitを非同期に送信するのではなく、スプレッドの内側にBuyLimitとSellLimitを送信し、流動性の低い取引商品を選択します。
比較する前に、複雑な取引操作 全体を「完了」させる必要がある。
(データの受信、取引の正当化、取引の確認の受信)。
ビルド1395追加、リアル
取引、自動取引システム、取引戦略のテストに関するフォーラム
FORTS。執行に関する質問
Renat Fatkhullin, 2016.08.23 16:35
5-10ミリ秒待ってからもう一度試してみてください。
取引確認はすぐに得られますが、取引の全詳細はその後に非同期で届くということです。0~Nミリ秒かかることもありますが、通常は1~2ミリ秒以内です(もちろんpingにもよります)。
比較する前に、複雑な取引操作 全体を「完了」させる必要がある。
(データの受信、取引の正当化、取引の確認の受信)。
ビルド1395を追加。
同様の操作を手動で行ったところ11.7 ms
あなたは本当の報告書を見ようとせず、独自の不具合のある方法で取引時間を計測している。
そして、自分の間違いを認めようとせず、自分の誤ったスクリプトによるとんでもない数字を信じようとする。
同じような操作を手動でやってみた:11.7ミリ秒。
何を言っているんだ、レナート?
これはTemninalのログからの抜粋であり、私のログではない!
このような事情から、QLUAとの比較ではMT5が有利にならないように若干調整する必要があります。
調整する必要はない。私の表現は、一般的なケースを想定したものであり、「インターネットやpingはどのようなものであってもよく、実際にはネットワークによっては0~N msでトランザクションを得ることができる」というものです。そしてそれは0ミリ秒である可能性が高い。
ここに、非同期モードですべてのトランザクションを制御する検証コードがある:
これが実際の口座での 出力です:
下から上へ読んでください。
これは、トランザクションのすべての段階を、開始から費やされた時間の累計とともに示している。トランザクションの種類によって、何がいつターミナルに追加されたかがわかる。
合計時間は11.45ミリ秒である。