编程逆袭仔 发表于 2013-11-22 16:21:44

MT5 EA中获得技术指标指定位置数据的方法

我们最常用的要求是取得某个技术指标在指定序号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);
[*]else {
[*]printf("Error in copying");
[*]return(0);
[*]}
[*]}

注意:
ArraySetAsSeries(MaBuffer,true);
这句话让数组按照我们熟识的MQL4中的排列方式进行数据存储。

叶毛放目 发表于 2014-10-29 11:59:59

看看怎么样

gngez 发表于 2014-10-31 11:51:39

感谢分享

chen1110 发表于 2014-10-31 23:41:28

xiexiefenxiang

小眷 发表于 2014-11-2 01:36:11

路过。。看下先。

hj888 发表于 2014-11-3 02:37:35

nice!!!!!!!!!!!!

star115 发表于 2020-6-6 22:24:38

:lol不错

168 发表于 2020-6-9 19:59:36

找到好贴不容易,我顶你了,谢了

voew8582 发表于 2020-7-21 14:32:39

谢谢楼主分享

孤狼(软件高手) 发表于 2020-8-31 21:22:44

帮你顶下哈!!
页: [1] 2
查看完整版本: MT5 EA中获得技术指标指定位置数据的方法