错误、漏洞、问题 - 页 1883

 

与之前的讨论相比,在最新的1596版本中,重复测试了CopyXXX图表缓存解除的速度:https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

条件描述
MetaTrader 4 build 1065
MetaTrader 5 x64 build 1580
建立1596
硬件和操作系统
Windows 10 Pro x64, Intel Xeon E5-2690 v3 @ 2.60GHz, RAM: 32GB, SSD Disk
贸易服务器
MetaQuotes-Demo
MetaQuotes-Demo
设置中的图表限制条
10 000
10 000
在设置中限制历史上的酒吧 10 000 000
没有限制
欧元兑美元的实际条数,M1
338.2万
653.8万
核实的符号和周期
欧元兑美元,M1
开放式图表
GBPUSD,只有M1,脚本也被扔在上面
结果是冷的,在终端开始后
#0 pass, 1000 records in 680 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 113497 msc
#1 pass, 1000 records in 3 msc
#2 pass, 1000 records in 3 msc
#0 pass, 1000 records in 18288 msc
#1 pass, 1000 records in 7 msc
#2 pass, 1000 records in 2 msc
结果是温暖的,第一次运行后立即进行第二次运行
#0 pass, 1000 records in 13 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 14 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 13 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc

测试脚本附在源代码注释中。

从图表盘上解除的时间(盘上有650万条,解除了1万条,要求最后1千条,冷启动)从113毫秒减少到18毫秒。随后的请求已经在2微秒内执行。
 
Renat Fatkhullin:

与之前的讨论相比,最新的1596版中的函数对CopyXXX图表缓存提升的速度进行了重复测试:https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

条件描述
MetaTrader 4 build 1065
MetaTrader 5 x64 build 1580
建立1596
硬件和操作系统
Windows 10 Pro x64, Intel Xeon E5-2690 v3 @ 2.60GHz, RAM: 32GB, SSD Disk
贸易服务器
MetaQuotes-Demo
MetaQuotes-Demo
设置中的图表限制条
10 000
10 000
在设置中限制历史上的酒吧 10 000 000
没有限制
欧元兑美元的实际条数,M1
338.2万
653.8万
核实的符号和周期
欧元兑美元,M1
开放式图表
GBPUSD,只有M1,脚本也被扔在上面
结果是冷的,在终端开始后
结果是温暖的,第一次运行后立即进行第二次运行

测试脚本附在源码注释中。

从图表盘上解除的时间(盘上有650万条,解除了1万条,要求最后1千条,冷启动)从113毫秒减少到18毫秒。随后的请求已经在2微秒内执行。

干得好!
 
Renat Fatkhullin:

对最新的1596版本中的CopyXXX图表缓存提升功能的速度与上次讨论的相比进行了重新测试:https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

最好在SymbolsTotal 上重做。
 
fxsaber:
最好把它改成SymbolsTotal

CopyTicks在脚本和专家顾问系统中不是异步的。事实上,在这种情况下,我们不能严格谈论这些函数的异步性。在CopyXXX指标中,这些功能的工作模式是 "无延迟地一次性输出什么,并平行地设置后台交换模式"。

MQL_MEMORY_USED并没有说谎,因为它显示了1Mb的已用内存。程序本身只有MqlTick Ticks[]的2000个元素,这样就有52字节*2000=~100kb的数据。加上其余的小数据,加起来大约有一兆字节。而且不应忘记四舍五入到兆字节的做法。

提高的缓存属于终端,而不是MQL5程序。
 
Renat Fatkhullin:

CopyTicks在脚本和EA中不是异步的。

SD中的那段代码是经过解析的,因为不是所有的东西都是顺利的。

我的意思是,最好不要在一个符号上检查复制功能,而是在市场观察的所有符号上检查复制功能。

 

Alpari-MT5交易服务器

为什么在外汇符号的tick历史中会出现重复的tick(买入和卖出相等)?

测试人员通过重复的内容来追逐EA,而其中有一半的内容。有必要让相应的性能下降一半吗?

 
请在MT5测试器单次运行报告中也增加 "仓位 "显示模式。
 
与本主题无关的评论已被移至"信号服务的常见问题"。
 

我不知道如何重现它,但我在1598年遇到过几次。

我在CTRL+F5上开始调试。我到了DebugBreak,慢慢地在看变量值,梦想着什么。一段时间后,展示台 "没有反应",然后编辑器 "没有反应"。我必须通过TaskManager杀死它。

 
fxsaber:

我不知道如何重现它,但我在1598年遇到过几次。

我在CTRL+F5上开始调试。我到了DebugBreak,慢慢地在看变量值,梦想着什么。一段时间后,展示台 "没有反应",然后编辑器 "没有反应"。我必须通过TaskManager杀死它。

我们必须把它整理出来。
原因: