MT5 EA中獲得技術指標指定位置數據的方法
作者:MT4 來源:cxh99.com 發布時間:2012年05月18日
- 顯然,我們是要使用CopyBuffer函數來獲得上述數據。
我們最常用的要求是取得某個技術指標在指定序號K線上對應的數值。
下面的例子里,我們沿用MQL4的序號排列概念(序號0代表最新的K線),來獲得相應的技術指標數值。
自定義函數及EA完整源代碼:
復制代碼- 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);
這句話讓數組按照我們熟識的MQL4中的排列方式進行數據存儲。
栽自:www.520fx.com