首页 > EA > EA编程

MT5编程OnCaculate的用法

外汇小助手EA编程 2019-07-25 20:44:53 交流微信号:FX263cn EA学习   EA编程   EA程序
Fx263.com|全球中文外汇

OnCaculate事件因Tick的推送过来而触发,他有两种方式进行调用:
 
int OnCalculate(const int rates_total,//指标数组的全部元素个数
const int prev_calculated,//前一次计算完的指标数组的个数
const int begin,//指标数组最早的其实元素序号
const double &price[])//本指标计算需要用到的K线的单个数组
 
这里比较难理解的是这个price数组。其实这个price数组是由指标初始阶段的一个参数#property ndicator_applied_price来定义的。
 
定义的一般方式是:
 
#property indicator_applied_price PRICE_OPEN
 
上面的语句表示OnCaculate事件里使用的price数组是OPEN开盘价对应的数组。
 
如果不使用上面的语句对进行price数组进行指定,则默认price数组使用CLOSE收盘价的数组。
 
总结:可以看到上面这种OnCaculate事件的调用仅适合用于K线单个数组的技术指标的调用。
 
==============================
 
方式2:
 
int OnCalculate (const int rates_total,      // размер входных таймсерий
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const datetime& time[],     // Time
                 const double& open[],       // Open
                 const double& high[],       // High
                 const double& low[],        // Low
                 const double& close[],      // Close
                 const long& tick_volume[],  // Tick Volume
                 const long& volume[],       // Real Volume
                 const int& spread[]         // Spread
   );
 
方式二相对于第一种调用方式的不同在于:引入了K线所有对应的数值数组,这样可以全面使用K线对应的各种数据进行我们所需要的处理和操作。

Fx263.com|全球中文外汇网

【版权声明】

本文仅代表作者观点,不代表本站立场。Fx263.com对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证,且不构成任何投资建议,请读者仅作参考,并自行承担全部风险与责任。Fx263.com作为信息内容发布平台,页面展示内容的目的在于传播更多信息,不代表Fx263.com立场;本站会员及自媒体人所发的稿件所载明的信息与本网无关,如文章涉及版权,请联系本站处理。

【风险提示】

请通过正规渠道参与外汇保证金交易。目前通过网络平台提供、参与外汇保证金交易均属非法。请提高意识,谨防损失!外汇、贵金属和差价合约(OTC场外交易)是杠杆产品,存在较高的风险,可能会导致亏损您的投资本金,请理性投资。

 

Fx263.com - 全球财经中文网

官方交流微信号:FX263cn注明来意

重要声明 | 本站内容不适用于中国大陆地区访客。

Powered By Fx263.com - 版权所有

大中华地区全球财经中文网

本站内容仅供参考盈亏自负

FX263网 - 全球财经中文网