新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1392

 

问候。你能给我一个提示吗?

如果我理解正确的话,当一个新的tick到来时,OnTick()的执行就会发生,前提是执行(在前一个tick之后)已经完成。

因此,问题是:OnTick()的执行时间在什么时候被认为是正常的,什么时候已经是很长的时间?

 
还有一个问题:专家顾问有一个交易算法和一个图形设计。是否有可能将算法交易的 优先权安排在视觉设计之上?如果是这样,怎么做?
 
Andrey Sokolov:

问候。你能给我一个提示吗?

如果我理解正确的话,当一个新的tick到来时,OnTick()的执行就会发生,前提是执行(在前一个tick之后)已经完成。

因此,问题是:OnTick()在什么时间执行被认为是正常的,什么时间已经是很长的时间?

这取决于工具。如果刻度线之间只有3-5毫秒,执行OnTick()的时间不应该更长。有这样的工具,刻度线被延迟到1秒甚至更多。

 
Andrey Sokolov:
还有一个问题:我的专家顾问有算法交易和图形可视化。是否有可能将交易算法的优先权安排在视觉设计之上?如果是这样,怎么做?

这种视觉设计是否在每次打勾 时都会改变?在OnInit()中插入它就够了吗?

 
Alexey Viktorov:

这种视觉设计是否在每次打勾 时都会改变?也许把它插入OnInit()中就可以了?

在面板上有不同的计数,图表上的对象也会发生变化。


如果在执行OnTimer()的时候,发生了一个新的tick,那么会执行什么,以什么顺序执行?

 
Andrey Sokolov:

在面板上有不同的计数,图表中的对象也会发生变化。


如果在OnTimer()运行时出现了新的tick,会做什么,以什么顺序进行?

以先到先得的方式进行
 
MakarFX:
按优先顺序排列

如果这不是一个秘密,我可以得到一个信息来源的链接吗?

在这种情况下,OnTick() 是否会被执行,存在一些疑问。

 
Andrey Sokolov:

如果在执行OnTimer()的过程中出现了新的tick,那么执行的内容和顺序是怎样的?

不分先后

如果在OnTimer() 或OnTick()函数 内的复杂计算过程中出现新的事件,它将被跳过。

在论坛中搜索 "跳勾 "应该可以找到讨论,管理员已经多次写过这个问题。

顺便说一下,在MT4中,为了与新的tick数据同步,有RefreshRates() - 也许在关于这个函数的帮助中也提到了tick跳过的问题。

 
Andrey Sokolov:

如果这不是一个秘密,我可以得到一个信息来源的链接吗?

在这种情况下,OnTick() 是否会被执行,存在一些疑问。

Andrey Sokolov:

在面板上有不同的计数,图表上的对象也会发生变化。

如果在OnTimer()期间 执行 一个新的tick,会执行什么,以什么顺序执行?

如果有OnTimer(),那么除了新的OnTimer(),其他的都是排队的--它被跳过。

我有一个类似的情况,把 OnTimer() 放在OnTick() 之前,运行EventSetMillisecondTimer(100)。

最后我解决了我的问题。

 

Igor Makanu, MakarFX, 你们谁是对的?让我们试着找到描述并找出答案。我见过一次,但我整天都找不到。


另一个提示,请问:如果终端中有多个EA,如果它们的处理时间超过了各点之间的暂停时间,那么它们将以什么顺序处理各点?

原因: