從 MQL4 到 MQL5
特殊函數 init, start and deinit
MQL4語言只包括3個預定函數可以操作指標,腳本或者EA交易(不包括files *.mqh和資料庫檔)。
在MQL5中沒有那樣的函數,但有與之相類似的函數,圖表表明了近似函數。
在MQL4中,函數 OnInit和 OnDeinit 在 init 和 deinit 程式中執行了相同的任務-他們是為本地代碼設計的,
一定在MQL5程式的初始化過程中執行,可以因此重命名函數,或者以他們本身的形式呈現,但是在類似位置這些函數可以添加調用。
舉例
開始函數只在腳本中被OnStart代替,在EA交易和指標中應該分別重命名成OnTick和OnCalculate。
在MQL5程式操作過程中,這些代碼可以執行,並保存3個函數中:
如果指標或者代碼不包括主函數,或者函數名稱與要求的不相符,該函數的調用就不能執行。
這表示了,如果腳本的資原始程式碼不包括OnStart,該代碼會以一個EA交易編輯。
如果指標代碼不包括OnCalculate函數,該指標的編輯不能完成。
預定義變數
在MQL5中有諸如Ask, Bid, Bars的預定義變數,變數點和數位的拼寫有稍許不同:
存取時間序列
MQL5中沒有像Open [], High [], Low [], Close [], Volume [] and Time []這樣預定義的時間序列。時間序列必要的深度能用相關訪問時間序列函數來設定。
EA交易
MQL5的EA交易不需要強制存在處理新訂單號收據事件的函數-OnTick,如在MQL4中一樣(當接收新訂單時執行MQL4的啟動函數),因為在MQL5中EA交易可以包含幾種類型的預定義處理器函數。
留言列表