原始碼與編譯
MQL5 OnTick 與 OnTimer:如何組織 EA 事件
EA 是事件驅動程式。把初始化、市場決策和維護工作分清楚,人和 AI 程式設計助手都更容易完成範圍明確的修改。
讓各事件職責明確
OnInit 用於初始化和參數檢查,OnDeinit 用於清理。OnTick 接收圖表品種的新報價事件,訂閱定時器後由 OnTimer 處理定時事件。這些入口也是閱讀陌生專案時很有用的結構地圖。
保持事件佇列響應及時
MQL5 對同一程式的事件依次處理。如果 NewTick 已在佇列中或正在執行,就不會再加入另一個 NewTick。因此,應留意處理函式中的長時間阻塞。無限迴圈等待條件,不能代替合理的事件設計。
有目的地安排定時工作
定時器適合狀態面板或週期性維護。過短週期也可能增加回測工作量,應選擇真正有用途的頻率。定時事件不保證此刻有最新行情,也不會自動改善交易執行質量。
修改前畫出執行流程
- 列出只需啟動時做一次的工作。
- 列出每個相關報價都需要執行的工作。
- 列出只需定期重新整理的工作。
- 定義資料不可用時的處理方式。
- 同時測試正常執行、退出和重新初始化。
用 MQLume 開啟你的定製
為下一次定製建立清晰結構。MQLume 的專案可供閱讀、編譯和改進,包括 Quantum Titan MT5。











