小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MT4智能交易編程教程

 分界交易 2019-07-23
MT4智能交易編程教程-  從 MQL4 到 MQL5
MQL5是前任MQL4語言的發(fā)展,其中編輯進去許多指標,腳本和EA交易。盡管事實上,新的程序語言最大化的與前一代相匹配,但在這些語言之間,仍有區(qū)別,當轉(zhuǎn)換程序時,這些區(qū)別應該標注出來。
對于了解MQL4的程序員來說,新的MQL5語言,該章節(jié)涵蓋了促進代碼改編進化的所有信息。
首先應該標明的是:
·新語言不包括函數(shù)start(), init() 和 deinit();
·指標緩沖區(qū)數(shù)量不限制;
·在下載EA程序后(或者其他MQL5程序),dll立即被加載;
·檢測縮寫的邏輯條件;
·當數(shù)組超過限制時,結(jié)束當前操作(緊急的-錯誤輸出);
·像C++一樣運算符優(yōu)先;
·該語言提供隱式類型(甚至從字符串到數(shù)字);
·局部變量不能自動初始化(除了字符串);
·普通本地數(shù)組自動刪除。
特殊函數(shù) init, start and deinit
MQL4語言只包括3個預定函數(shù)可以操作指標,腳本或者EA交易(不包括files *.mqh和數(shù)據(jù)庫文件)。在MQL5中沒有那樣的函數(shù),但有與之相類似的函數(shù),圖表表明了近似函數(shù)。
MQL4
MQL5
init
OnInit
start
OnStart
deinit
OnDeinit

在MQL4中,函數(shù) OnInit 和 OnDeinit 在 init 和 deinit 程序中執(zhí)行了相同的任務-他們是為本地代碼設計的,一定在MQL5程序的初始化過程中執(zhí)行,可以因此重命名函數(shù),或者以他們本身的形式呈現(xiàn),但是在類似位置這些函數(shù)可以添加調(diào)用。
示例:
void OnInit()
  {
//--- 調(diào)用函數(shù)去初始化
   init();
  }
void OnDeinit(const int reason)
  {
//--- 調(diào)用無法初始化函數(shù)
   deinit();
//---
  }

開始函數(shù)只在腳本中被OnStart代替,在EA交易和指標中應該分別重命名成OnTick和OnCalculate。在MQL5程序操作過程中,這些代碼可以執(zhí)行,并保存3個函數(shù)中:
mql5程序
主函數(shù)
腳本
OnStart
指標
OnCalculate
EA交易
OnTick

如果指標或者代碼不包括主函數(shù),或者函數(shù)名稱與要求的不相符,該函數(shù)的調(diào)用就不能執(zhí)行。這表示了,如果腳本的資源代碼不包括OnStart,該代碼會以一個EA交易編輯。
如果指標代碼不包括OnCalculate函數(shù),該指標的編輯不能完成。
預定義變量
在MQL5中有諸如Ask, Bid, Bars的預定義變量,變量點和數(shù)字的拼寫有稍許不同:
MQL4
MQL5
數(shù)字
_Digits
_Point
_LastError
_Period
_Symbol
_StopFlag
_UninitReason

訪問時間序列
MQL5中沒有像Open [], High [], Low [], Close [], Volume [] and Time []這樣預定義的時間序列。時間序列必要的深度能用相關(guān)訪問時間序列函數(shù)來設定。
EA交易
MQL5的EA交易不需要強制存在處理新訂單號收據(jù)事件的函數(shù)-OnTick,如在MQL4中一樣(當接收新訂單時執(zhí)行MQL4的啟動函數(shù)),因為在MQL5中EA交易可以包含幾種類型的預定義處理器函數(shù)。
·OnTick – 新訂單號收據(jù);
·OnTimer –時間數(shù)據(jù);
·OnTrade - 交易事件;
·OnChartEvent – 鍵盤鼠標輸入事件,圖解物件移動事件,完成文本編輯事件輸入LabelEdit物件領(lǐng)域中的;
·OnBookEvent – 市場深度狀態(tài)更改事件。
自定義指標
在MQL4中,指標緩沖區(qū)的數(shù)量是有限的,不能超過8。而在MQL5中則沒有這個限制,但是要記得每個指標緩沖區(qū)需要在程序端分配部分內(nèi)存,所以,這個新功能也不能濫用。
MQL4只提供了6種自定義指標繪圖;而MQL5現(xiàn)在提供了18種繪畫類型 。繪畫類型的名稱不變,但是指標的圖解表示意義卻顯著變化。
指標緩沖區(qū)中索引趨勢也并不相同。默認情況下,在MQL5中,所有指標緩沖區(qū)都有常用數(shù)組行為,例如0索引元素是歷史記錄中最古老的一個,隨著指數(shù)增加,數(shù)據(jù)也從舊的換成新的。
受MQL4保護的工作自定義指標的唯一函數(shù)是SetIndexBuffer 。但是調(diào)用改變;現(xiàn)在應該指定存儲在數(shù)組中的數(shù)據(jù)類型,連接指標緩沖區(qū)。
自定義指標屬性也已更改并發(fā)展。添加了訪問時間序列的新函數(shù),所以全部算法需要重新審議。
圖解物件
在MQL5中圖解物件的數(shù)量顯著增加。此外,圖解物件現(xiàn)在可以及時置于時間表的圖表中且可精確到秒-現(xiàn)在物件定位點不會四舍五入到當前價格圖表開盤時間柱上。對于箭頭物件,可以指定文本和標簽綁定方式 ,并且對于標簽,可以設置按鈕,圖表,位圖標簽和編輯定位定位物件的圖表角 。


1

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多