MQL5 OnTick 与 OnTimer:如何组织 EA 事件

EA 是事件驱动程序。把初始化、市场决策和维护工作分清楚,人和 AI 编程助手都更容易完成范围明确的修改。

让各事件职责明确

OnInit 用于初始化和参数检查,OnDeinit 用于清理。OnTick 接收图表品种的新报价事件,订阅定时器后由 OnTimer 处理定时事件。这些入口也是阅读陌生项目时很有用的结构地图。

保持事件队列响应及时

MQL5 对同一程序的事件依次处理。如果 NewTick 已在队列中或正在执行,就不会再加入另一个 NewTick。因此,应留意处理函数中的长时间阻塞。无限循环等待条件,不能代替合理的事件设计。

有目的地安排定时工作

定时器适合状态面板或周期性维护。过短周期也可能增加回测工作量,应选择真正有用途的频率。定时事件不保证此刻有最新行情,也不会自动改善交易执行质量。

修改前画出执行流程

  1. 列出只需启动时做一次的工作。
  2. 列出每个相关报价都需要执行的工作。
  3. 列出只需定期刷新的工作。
  4. 定义数据不可用时的处理方式。
  5. 同时测试正常运行、退出和重新初始化。

用 MQLume 开启你的定制

为下一次定制建立清晰结构。MQLume 的项目可供阅读、编译和改进,包括 Quantum Titan MT5。

参考资料与延伸阅读

返回顶部

查看源码项目

核对每款商品的交付版本、参数说明和已有测试范围。

Quantum Titan MT5The Gold Reaper MT5My AI Gold MT5Ultimate Breakout System MT5Quantum Commander MT5

购物车

每个项目一份个人使用许可,同一商品仅加入一次。

购物车还是空的

选择一个源码项目,开始浏览。

继续选购