您现在的位置:程序化交易>> 外汇现货>> MT5>> MT5知识>>正文内容

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

  • 显然,我们是要使用CopyBuffer函数来获得上述数据。
    我们最常用的要求是取得某个技术指标在指定序号K线上对应的数值。
    下面的例子里,我们沿用MQL4的序号排列概念(序号0代表最新的K线),来获得相应的技术指标数值。
    自定义函数及EA完整源代码:
    复制代码
    1. double MaBuffer[];
    2. int OnInit()
    3. {
    4. ArraySetAsSeries(MaBuffer,true);
    5. return(0);
    6. }
    7. void OnTick()
    8. {
    9. printf(GetData(1));
    10. }
    11. double GetData(int Index)
    12. {
    13. int Handle=iMA(Symbol(),0,1,0,MODE_SMA,PRICE_CLOSE);
    14. int Cnt=CopyBuffer(Handle,0,0,Index+1,MaBuffer);
    15. if(Cnt!=-1)return(MaBuffer[Index]);
    16. else {
    17. printf("Error in copying");
    18. return(0);
    19. }
    20. }

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

【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容