2020.10.3013:50:21.852 Test9 (GBPUSD,H1) SymbolInfoTick max bad time: 2.008 ms; avr bad time: 2.008 ms; bad iterations: 1 total iterations: 100000002020.10.3013:50:22.142 Test9 (EURUSD,H1) GetBid max bad time: 1.125 ms; avr bad time: 1.125 ms; bad iterations: 1 total iterations: 100000002020.10.3013:50:23.072 Test9 (USDCHF,H1) SymbolInfoTick max bad time: 2.245 ms; avr bad time: 2.245 ms; bad iterations: 1 total iterations: 100000002020.10.3013:50:23.288 Test9 (USDCAD,H1) GetBid max bad time: 1.298 ms; avr bad time: 1.182 ms; bad iterations: 2 total iterations: 100000002020.10.3013:50:23.297 Test9 (AUDCAD,H1) GetBid max bad time: 0.977 ms; avr bad time: 0 ms; bad iterations: 0 total iterations: 100000002020.10.3013:50:24.393 Test9 (EURUSD,H1) SymbolInfoTick max bad time: 3.400 ms; avr bad time: 2.862 ms; bad iterations: 2 total iterations: 10000000
Anton:
在闲置CPU上运行您的EA,RannForex服务器,6张不同符号的图表。当我回到我的电脑前时,我看到了很多这样的东西。
我有一个糟糕的时间条件,像这样。
为了论坛成员的客观性,SZZ我附上了代码。
在闲置CPU上运行您的EA,RannForex服务器,6张不同符号的图表。当我回到我的电脑前时,我看到了很多这样的情况。
如果我没有理解错的话,在这个测试中,有6个循环的EA在4个CPU核心上运行,每一个都试图100%加载一个核心。也就是说,这绝对是一个压力测试,与正常工作条件相差甚远。
在这样的条件下,1000万次查询的1-2ms的弹射是一个很好的结果。
我再一次提醒你:负载越大,你就越要测试操作系统任务调度器的效率,而不是终端。不要被愚弄。
我有一个关于SymbolInfoTick给出的ticks的相关性的问题。
情况。
1.我们做TimeCurretn();我们得到时间18:00:00
2.对一个没有标记的符号做SymbolInfoTick。我们得到一个时间为17:58:00的刻度。
3.睡眠(1)
4.为非左侧符号添加一个SymbolInfoTick。我们得到一个时间为17:59:00 的刻度。
也就是说,在第四项中,我们有一个新的tick,与TimeCurretn() 相比,它有一分钟的差异。
在这种情况下,你看到了一个问题吗?
如何更少地进入这种情况?
测试EA。
我没有Alertite。结 果(在六个图表上运行)。
有一个问题。很难说它有多严重。
如果我理解正确的话,在这个测试中,有6个循环的EA在4个CPU核心上运行,每一个都试图100%加载一个核心。也就是说,这绝对是一个压力测试,与正常工作条件相差甚远。
这个EA 是一个压力测试吗?我问你这个问题是因为它一直在测量
正在发出警报的海洋。
ArrayPrint的串行日志输出中存在一个错误。
很明显,这是一个错误,因为这是源代码。
关于交易、自动交易系统和策略测试的论坛
MT5和速度在行动
fxsaber, 2020.10.30 15:04
我曾多次在每一秒钟都触发了警报。
19毫秒,执行SymbolInfoTick 的时间为48毫秒。有几十个案例的持续时间是数百微秒。但我没有引用它们。
显然,为了重现它,我们需要运行战斗顾问24小时,然后只能观察。在我看来,要搞清楚是什么原因导致了这种滞后,是不现实的。
看了一下页面顶部的Test9代码。为什么在没有任何睡眠的情况下,要从一个符号中请求刻度线,这需要1000万次?这个测试与真实交易有什么关系?
我认为测试应该是这样的:我们要求在市场审查中对每个符号进行勾选。我们暂停Sleep(1),以此类推。稍微重写一下你的代码。
测试概览中的55个符号。
现在让我们测试一下temp++而不是SymbolInfoTick。
看了一下页面顶部的Test9代码。为什么要在没有任何睡眠的情况下,从一个人物身上索取一千万次标签?
一点也不。详细情况请阅读该分支。
不在一个公平的竞争环境中。请阅读该主题,了解详情。
在这种计量技术下,即使temp++的最大执行时间也需要几十微秒,你不感到困惑吗?