指数移动平均线 - MetaTrader 5 的实用指标

Mike 2019.03.23 01:40 31 0 0
附件

又回到基础知识了:

尽管指数移动平均线(EMA)相对简单,代码执行时间在不同版本之间差异不大(EMA 本身没有嵌套循环),但我们依然缺乏一些易于重用且执行速度快的代码。这一版本在这方面有所改进。

另外,使用 OnCalculate() 的替代模式:

int  OnCalculate( 
   constint        rates_total,       // price[] 数组大小 
   constint        prev_calculated,   // 上一次调用处理的柱子数量 
   constint        begin,             // price[] 数组中有意义数据的起始索引 
   constdouble&    price[]            // 计算用的值数组 
   );

这样会使得执行时间更短更快(通过函数获取选定价格确实需要一些时间 - 虽然不多,但与没有该步骤的版本相比,可以明显感受到),不过为了灵活性,我还是选择了“标准”模式。此外,如果将其改成单一颜色版本,会更快,但那样就失去了乐趣了 :)


列表
评论 0