Именно с этой, улучшенной и дополненной версией мы и начнем работать, чтобы постепенно превратить ее в скальперский стакан цен. Краткий обзор графической библиотеки CPanel Созданию пользовательских интерфейсов в MQL5 посвящено много статей. Среди них особенно выделяется серия Анатолия Кажарского "Графические интерфейсы", после которой сложно...
在成功调用CopyTicks离线后,GetLastError 返回4403。
我将通过CopyTicksRange来做,但CopyTicks的行为似乎适合改变。
CopyTicks (build 1881)如果不要求新的刻度,则返回比要求的更早的数据。也就是说,它返回的数据比参数中的数据更早。错误是浮动的--它出现在不同的时间,所以我写了一些小代码来重现它。我在测试器中运行了欧元兑美元H1,2017.08.01 - 2018.08.01。
下面是输出结果。
2018.10.17 21:31:26.221 2017.08.01 12:00:00 dt[0]=2017.08.01 03:00:00
2018.10.17 21:31:26.221 2017.08.01 12:00:00 cnt=2000
2018.10.17 21:31:26.221 2017.08.01 12:00:00 ERROR: i=0, ticks[i].time_msc=1501552175606 (2017.08.01 01:49:35)。
也就是说,我们从03:00申请,从01:49收到。在现实条件下,差异超过一个月。
这里有一个问题要问专家。这种获取新鲜蜱虫的方法会有哪些潜在的错误?
看来,具有相同时间的蜱虫的顺序是不能保证的。
关于交易、自动交易系统和交易策略测试的论坛
实时的刻度线
Andrey Khatimlianskii, 2020.01.31 14:40
顺便说一下,瓦西里-索科洛夫有一篇 关于正确收集蜱虫的优秀文章。那里详细介绍了它的模拟同步过程(我没有这个过程,因为它有时会打印出相同的刻度)。
但CopyTiks函数不允许请求N个最后刻度。相反,它提供了所有刻度,这些刻度来自指定的时间点。这使任务变得复杂。我们应该执行一个查询,得到一个ticks数组,并将其与之前更新时收到的ticks数组进行比较。同时,我们会发现哪些新来的蜱虫不属于 "以前的供应",即它们是新的。但是不可能直接比较它们之间的虱子,原因很简单,因为它们之间可能根本没有明显的差别。例如,让我们看一下下面的交易表。
图5.所有交易的表格,包括一个相同交易的例子。
我们立即看到两组绝对相同的虱子。它们被标记为红色框架,它们具有相同的时间、数量、方向和价格。因此,我们看到,不可能将单个蜱虫相互比较。
但有可能对一组 蜱虫进行比较。如果两组刻度线彼此相等,我们可以得出结论,这些刻度线和后面的刻度线在上一次价格更新期间已经被分析过。
看来,具有相同时间的蜱虫的顺序是不能保证的。
如果你说的是蜱虫群,在代码中似乎没有什么问题。
结果(冷运行--终端机启动后立即运行)。
可以关闭专家顾问,但在终端的消耗方面不会有任何变化。