voidOnTick()
{
MqlTick Tick;
ulong gstart=GetMicrosecondCount();
int count=10000;
for(int i=0; i<count; i++)
{
SymbolInfoTick(_Symbol, Tick);
}
ulong gend=GetMicrosecondCount()-gstart;
Print(count," iterations, total time ", DoubleToString(gend/1000.0,3)," ms; avr time: ",DoubleToString(gend/1000.0/count,3)," ms");
}
チャート20枚
ビルド2656。
2020.10.2010:55:12.725SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 10.031 ms; avr time: 0.001 ms
2020.10.2010:55:12.726SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 10.799 ms; avr time: 0.001 ms
2020.10.2010:55:12.726SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 11.080 ms; avr time: 0.001 ms
2020.10.2010:55:12.727SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 11.181 ms; avr time: 0.001 ms
2020.10.2010:55:12.727SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 11.158 ms; avr time: 0.001 ms
2020.10.2010:55:12.727SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 11.202 ms; avr time: 0.001 ms
2020.10.2010:55:12.727SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 11.206 ms; avr time: 0.001 ms
2020.10.2010:55:13.030SymbolInfoTick (GBPCHF,H1) 10000 iterations, total time 0.433 ms; avr time: 0.000 ms
2020.10.2010:55:13.528SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 6.344 ms; avr time: 0.001 ms
2020.10.2010:55:13.530SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 8.253 ms; avr time: 0.001 ms
2020.10.2010:55:13.532SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 9.745 ms; avr time: 0.001 ms
2020.10.2010:55:13.532SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 9.873 ms; avr time: 0.001 ms
2020.10.2010:55:13.532SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 10.392 ms; avr time: 0.001 ms
2020.10.2010:55:13.532SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 10.201 ms; avr time: 0.001 ms
2020.10.2010:55:13.532SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 10.020 ms; avr time: 0.001 ms
2020.10.2010:55:13.532SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 10.388 ms; avr time: 0.001 ms
2020.10.2010:55:14.439SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 11.488 ms; avr time: 0.001 ms
2020.10.2010:55:14.439SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 12.251 ms; avr time: 0.001 ms
2020.10.2010:55:14.439SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 12.257 ms; avr time: 0.001 ms
2020.10.2010:55:14.440SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 12.495 ms; avr time: 0.001 ms
2020.10.2010:55:14.440SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 12.624 ms; avr time: 0.001 ms
2020.10.2010:55:14.440SymbolInfoTick (AUDUSD,M15) 10000 iterations, total time 12.592 ms; avr time: 0.001 ms
SymbolInfoTickのブレーキがかかる原因は、パラレルハンドリングにあるようです。
結果(inAmount = 15)。
> SymbolInfoTick実行の場合、100ms以上。コードが自撮りであることは明らかです。しかし、通常のExpert Advisorで遅くなる原因を示しています。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
MT5とスピードの関係
ローマン, 2020.10.14 04:54
現在のティックに対して、あらかじめ定義された変数があれば、より良い。
結果(inAmount = 15)。
このような遅れでは、HFTは構築できません。
ガラスからチキを取り出した方がいいのでは?
測定していないのですか?
Z.u.s. or better yet FIX it ))
バーから新しいティックを識別しない方が良い。
結果
実際の状態より数秒遅れているバー!バーやインジケーターの愛好家の皆さん、こんにちは。
あれをセルフショットと呼ぶのは至難の業です。
結果(inAmount = 15)。
どうやるんですか?
チャート20枚
ビルド2656。
あ、あそこは1000クエだったかな?
fxsaber, そして本当になぜ、現在のティックに対して1000ものクエリーがあるのでしょうか?
アントンですが、それでも19マソ滑りました。
残りの割合としては、850%です。
Roman:
アントンですが、それでも19mcs滑りました。
残りの割合としては、850%です。
測光そのものが遅いことがある、つまり ::GetMicrosecondCount().
簡単な例です。
チャート20枚
GetLastError() は、natのメモリセルを読み込んでいるだけです。実はコストゼロくらい。
それでも疑問がある場合は、このようにするとよいでしょう。
このことは、このベンチマークを通じて単発のアクションの測定を評価する際に留意する必要がある。
より正確な測定方法です。
チャート20枚
ビルド2656。
測光そのものが遅いことがある、つまり ::GetMicrosecondCount().
簡単な例です。
チャート20枚
GetLastError()は、natのメモリセルを読み込んでいるだけです。実はコストゼロくらい。
ありがとうございます、そうですか。
でも、定義済み変数の 導入は検討してもいいのでは?
変数を読み込む方が、関数を呼び出して構造体を埋めるより速いだろう。
より正確な測定方法です。
病院の平均温度。