MT5和速度在行动 - 页 15

 
对,知道了,谢谢,这是个蹩脚的问题。有件事在我脑中挥之不去。
 
fxsaber:
b2579.

运行这个测试时,CPU的负载是多少?

 
Anton:

运行这个测试时,CPU的负载是多少?

0-2%,考虑到其他仍在运行的任务。不能重现?

 
fxsaber:

0-2%,考虑到其他仍在运行的任务。不玩了?

关闭了所有的应用程序,只留下有三个图表的终端。看到有高峰出现。

这是最多的20%。

 
fxsaber:

关闭了所有应用程序,只留下有三个图表的终端。我看到有山峰。

高达20%。

我有一种感觉,我的滞后是由于CPU功率不足(i5-4670)。我从中国订购了12核至强(e5-2678v3),几周后我将重建我的服务器,比较平均延迟并报告我的结果。

 
Dmi3:

我有一种感觉,我的滞后是由于CPU功率不足(i5-4670)。从中国订购了一个12核至强(e5-2678v3),将在几周后到达,重建服务器,能够比较平均执行延迟,将写下结果。

延迟是由于MT5的CPU负载过大。我不确定多核是否能在这里帮助我。看到结果将是有趣的。

 
fxsaber:

延迟是由于MT5的CPU负载过大。不确定多核是否会对这里有帮助。看到结果将是有趣的。

我也不确定,但这是我能做的最简单的事情。而且原则上,现在是升级的时候了。

 
Dmi3:

我有一种感觉,我的滞后是由于CPU功率不足(i5-4670)。我从中国订购了12核至强(e5-2678v3),几周后我将重建服务器,比较执行的平均延迟,我将写下结果。

它们都是Haswell,Xeon的工作频率要低得多,在运行时间和单一测试中会有性能下降,只有在多线程优化中才会有优势。最新型号的i3的运行速度应该快得多

问一下开发人员关于缓存水平对速度的影响,以及一般来说Zen2和最新的英特尔的速度。


增加

我有Ryzen 3700x,你可以用英特尔做测试

例如,用这个MQL5/Scripts\UnitTests\Stat\TestStatBenchmark.mq5脚本

用定时器循环数次

 

为了重现刹车,你需要在一个字符的多个字符上运行脚本--让OnTick在同一时间被调用。然后,警报将在每一个嘀嗒声中被提示。

CPU负载图显示,terminal64.exe对8个逻辑核心的负载高达30%。这只是四张运行着脚本的欧元兑美元图表。你可以清楚地看到每个图表每次加载的数量。

这么多的资源都去哪儿了?

2020.08.27 12:57:19.299 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 36 ms.
2020.08.27 12:57:19.300 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 33 ms.
2020.08.27 12:57:19.314 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 5 ms.
2020.08.27 12:57:20.073 Alert: Time[Test6.mq5 22: HistorySelect(Tick.time,INT_MAX)] = 1 ms.
2020.08.27 12:57:20.080 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 1 ms.
2020.08.27 12:57:24.742 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 4 ms.
2020.08.27 12:57:24.748 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 6 ms.
2020.08.27 12:57:24.749 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 2 ms.
2020.08.27 12:57:27.836 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 9 ms.
2020.08.27 12:57:33.275 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 6 ms.
2020.08.27 12:57:33.292 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 2 ms.
2020.08.27 12:57:33.292 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 16 ms.
2020.08.27 12:57:33.306 Alert: Time[Test6.mq5 17: CopyTicks(Symb,Ticks,COPY_TICKS_ALL,0,1)] = 3 ms.
 

当然,设置一个最大的优先级并没有什么帮助。


对b2582进行了测试。

将同样的脚本与其他交易平台进行比较是很有意思的。