如果我正在处理OnTick事件以及OnTimer事件,队列中是否存在首选项?在几秒钟内计算对时间敏感的算法时,我想知道是否更容易在OnTimer中编写整个EA以避免事件处理问题。
答案 0 :(得分:0)
OnTimer
是预定的呼叫。如果您当前的OnTimer
调用需要花费很长时间来处理,则后续的OnTimer
可能会被跳过。与OnTick
相同。
如果假设EA以EventSetTimer(1);
从00:00:00.021开始,那么EA将在21毫秒每秒调用一次(好吧,有人说这并不总是正确的,但在大多数情况下是可以接受的) 。同时,您可能在一秒钟内收到更多滴答声,或者根本没有滴答声。如果某些操作很重要,OnTimer()
可能会有所帮助。
您应该使用OnTimer()
的标准是什么?在MT4中,示例之一是使用renko图表(实时,对于测试,MT4中的呼叫已关闭)。如果您使用多币种专家,那么对于MT4&5来说OnTimer()
都很好。您可以控制OnTick
的一个符号,但不能同时控制两个/全部符号,即使新的报价没有到达,也会调用OnTimer
。