哪个事件首先被调用? OnTick() 或 OnTimer()?

Which event is called first? OnTick() or OnTimer()?

如果我正在处理 OnTick 事件和 OnTimer 事件,队列中是否有偏好?在秒级计算时间敏感算法时,我想知道在 OnTimer 中编写整个 EA 是否更容易避免事件处理问题。

OnTimer 是预定的通话。如果您当前的 OnTimer 调用需要很长时间才能处理,则后续的 OnTimer 可能会被跳过。与 OnTick 相同。 如果假设 EA 从 00:00:00.021 开始,并且 EventSetTimer(1);,那么 EA 将在第 21 毫秒每秒调用它(好吧,有些人说这并不总是正确的,但在大多数情况下是可以接受的个案)。同时,您可能在一秒钟内收到更多报价,或者根本没有报价。如果某些操作很重要,OnTimer() 可能会有所帮助。
您应该使用 OnTimer() 的标准是什么?在 MT4 中,示例之一是使用 renko 图表(实时,为了测试,在 MT4 中调用已关闭)。对于 MT4 和 5,如果您与多货币专家合作,OnTimer() 就可以了。您可以控制一个交易品种的 OnTick,但不能控制 both/all,即使新报价未到达,也会调用 OnTimer