MT5 EA中獲得技術(shù)指標(biāo)指定位置數(shù)據(jù)的方法
作者:MT4 來源:cxh99.com 發(fā)布時(shí)間:2012年05月18日
- 顯然,我們是要使用CopyBuffer函數(shù)來獲得上述數(shù)據(jù)。
我們最常用的要求是取得某個(gè)技術(shù)指標(biāo)在指定序號K線上對應(yīng)的數(shù)值。
下面的例子里,我們沿用MQL4的序號排列概念(序號0代表最新的K線),來獲得相應(yīng)的技術(shù)指標(biāo)數(shù)值。
自定義函數(shù)及EA完整源代碼:
復(fù)制代碼- double MaBuffer[];
- int OnInit()
- {
- ArraySetAsSeries(MaBuffer,true);
- return(0);
- }
- void OnTick()
- {
- printf(GetData(1));
- }
- double GetData(int Index)
- {
- int Handle=iMA(Symbol(),0,1,0,MODE_SMA,PRICE_CLOSE);
- int Cnt=CopyBuffer(Handle,0,0,Index+1,MaBuffer);
- if(Cnt!=-1)return(MaBuffer[Index]);
- else {
- printf("Error in copying");
- return(0);
- }
- }
注意:
ArraySetAsSeries(MaBuffer,true);
這句話讓數(shù)組按照我們熟識的MQL4中的排列方式進(jìn)行數(shù)據(jù)存儲。
栽自:www.520fx.com