初学者的问题 MQL5 MT5 MetaTrader 5 - 页 622

 
如何在初始化指标前增加MT4中测试器的条数?该指标应该在历史上计算 - 你需要在测试器中检查它是否正确。
 
另一个问题,我如何在MT4初始化过程中检查历史记录的完整性?我怀疑在初始化的时候,历史记录被调换了,这影响了预计算......。
 
-Aleks-:
另一个问题,我如何在MT4初始化过程中检查历史记录的完整性?我怀疑在初始化的时候,历史记录被调换了,这影响了预计算......。
核对小数点 率_总数。如果rate_total > prev_calculated+1 - 那么就有超过1个酒吧被交换,因此历史被交换。
 
Alexey Kozitsyn:
核对小数点 率_总数。如果rates_total > prev_calculated+1 - 这意味着超过1个酒吧被调换,因此历史被调换了。
并且每秒检查一次频率,停顿很久之后继续初始化,对吗?
 
-Aleks-:
检查的频率是每秒一次,停顿很久之后继续初始化,对吗?

一般来说,正如我最近在SD被告知的那样,在指标方面,最好不要使用计时器。

只需添加条件:if( prev_calculated <= 0 || rates_total > prev_calculated+1 ) 作为首次启动和全面重新计算指标的条件。如果你在OnCalculate() 中这样做,就不会有问题。

 
你所说的 "长时间停顿 "是指什么?
 
Alexey Kozitsyn:

一般来说,正如我最近在SD被告知的那样,在指标中最好不要有计时器。

只需添加条件:if( prev_calculated <= 0 || rates_total > prev_calculated+1 ) 作为首次启动和全面重新计算指标的条件。如果你在OnCalculate()中这样做,就不会有问题。

我想在我的专家顾问中正确计算指标类型 类。

如果我们允许每个图表有10 000个柱子,并且我们有这些柱子,那么即使有一个新的柱子,Bars也不会返回超过10000个。那么我怎么知道在加载历史记录时是否有一个新条?

 
而且,显然检查不应该在初始化时进行,因为在连接到DC.... 之前,EA在终端加载时被初始化。
 
-Aleks-:

好吧,我需要指标类型 类在我的EA中正确计算。

因此,我很困惑,如果每个图表允许有10000个柱子,那么即使出现新的柱子,Bars也不会返回超过10000个。那么我怎么知道在加载历史记录时是否有一个新栏?

为什么不呢?是的,会的。而Bars()和rate_total将增加。在OnCalculate()中检查这个数字。

终端设置的条数并不影响测试仪的条数(略低于100000)。

 
Alexey Kozitsyn:

为什么不呢?它将。Bars()和rate_total都会增加。检查OnCalculate()中的数字。

终端中设置的条数并不影响测试仪中的条数(略低于100000)。

不不,我需要的不是在测试器中,而是当我在真实的图表上运行终端时--在那里,只有当历史上的条数 少于最大条数 时它才会工作,还是我错了?