MT5 EA中获得技术指标指定位置数据的方法 [MT4]
作者:
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