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。很明显,这段代码是自拍的。但它显示了在通常的专家顾问系统中速度变慢的原因。
关于交易、自动交易系统和策略测试的论坛
MT5和速度在行动
罗曼, 2020.10.14 04:54
预先定义的变量,对于当前的勾股,会更好。
结果(inAmount = 15)。
HFT不能在这样的延迟下建立。
把提基从杯子里拿出来不是更好吗?
没有测量它?
Z.u.s.或更好的是修复它))
最好不要通过条形图来确定一个新的勾股。
结果。
酒吧比实际状态滞后了几秒钟!你好,酒吧和指标爱好者们。
这极难称之为自拍。
结果(inAmount = 15)。
你是如何做到这一点的?
20张图表。
建于2656年。
啊,那里有1000个疑问吗?
只是不在电脑前检查。
fxsaber,真的,为什么会有1000个对当前勾股的查询?
安东,但它仍然下滑了19%。
作为其余的百分比,它是850%。
Roman:
安东,但还是滑落了19毫升。
作为其余部分的百分比,它是850%。
有时测光本身很慢,即::GetMicrosecondCount()。
一个简单的例子。
20张图表。
GetLastError()只是读取NAT中的一个内存单元。实际上大约是零成本。
如果你仍然有疑问,你可以这样做。
在通过该基准评估一次性行动的衡量标准时,应牢记这一点。
一种更准确的测量方法。
20张图表。
建于2656年。
有时测光本身很慢,即::GetMicrosecondCount()。
一个简单的例子。
20张图表。
GetLastError()只是读取NAT中的一个内存单元。实际上大约是零成本。
谢谢,我明白了。
但也许还是要考虑引入预定义 的变量?
读取一个变量可能会比调用一个函数和填充一个结构快。
一种更准确的测量方法。
医院的平均温度。