首页学院交易策略EA智能交易文章详细

MT5编程OnCaculate的用法

外汇网2021-06-17 09:43:26 88
汇外网 - 全球专业的黄金外汇门户导航行情资讯网站

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 PR洲际交易所_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线对应的各种报告执行我们所需要的处理和操作。

标签:

随机快审展示
加入快审,优先展示

加入VIP