诚信为本
量力而为
当前位置:ea编程网 EA知识 正文

动量指标(Momentum)编程数据的获取

动量指标(Momentum)是一种技术分析指标,用于衡量价格相对于某一时间段前的价格的变化率。这种指标通常用于识别潜在的过度买入或过度卖出条件,提供反转信号。当价格向上或向下突破,动量指标也会相应变动,为交易者提供买卖机会。

动量指标是MT4自带的技术指标之一。在MT4上方菜单栏依次点击-插入-技术指标-震荡指标-Momentum,在出来的指标属性框中设置好相关参数后,点击“确定”即可将动量指标插入到当前图表中。

动量指标(Momentum)

要获取动量指标数据,可以在MT4平台上使用iMomentum()函数。iMomentum()函数的结构如下:

double iMomentum(
   string symbol,   // 交易品种名称
   int    timeframe,  // 图表时间周期
   int    period,   // 指标计算的平均周期值
   int    applied_price, // 价格应用
   int    shift    // 指标索引/序号
);

其中参数说明:

  • symbol:交易品种名称,当前窗口货币对为 Symbol(),如果要自行定义参数,可以参考 input string symname = “USDJPY"; 之类。
  • timeframe:图表周期,从一分钟 M1 到月线 MN1 共有 9 个图表周期。如果要自行定义参数,可以使用 int 或者 ENUM_TIMEFRAMES,如:input ENUM_TIMEFRAMES Period_x = PERIOD_CURRENT;。在这里,0 和 PERIOD_CURRENT 都代表当前图表周期。
  • period:指标计算的平均周期值参数,默认 14,如果要自行定义参数,可以使用 int,如 input int momentum_period = 14;
  • applied_price:价格类型,可以是收盘价、最高价、最低价等。默认用的是 PRICE_CLOSE,如果需要自行定义,可以用 int 或 ENUM_APPLIED_PRICE 来定义参数,如:input ENUM_APPLIED_PRICE APP_PRICE = PRICE_CLOSE;
  • shift:获取对应指标线的索引/序号,0指当前最新 K 线所对应的值,然后从右往左分别是 1、2、3、4…,按照这种规则排序。

获取当前图表中从右侧开始第二个 K 线,也就是 1 号 K 线对应的动量指标值,参考代码:

double Momentum_1 = iMomentum(Symbol(), 0, 14, PRICE_CLOSE, 1);

跨图表获取黄金 XAUUSD 一小时 H1 图表中最新 0 号 K 线对应的动量指标值,参考代码:

double XAUUSDMomentum_0 = iMomentum("XAUUSD", PERIOD_H1, 14, PRICE_CLOSE

, 0);

又比如,跨图表获取美元兑日元 USDJPY 三十分钟 M30 图表中最新 0 号 K 线对应的动量指标值,参考代码:

double USDJPYMomentum_0 = iMomentum("USDJPY", PERIOD_M30, 14, PRICE_CLOSE, 0);

如果要获取多个单位的动量指标的值,可以定义数组并结合 for() 循环来编写。总的来说,动量指标的编程并不复杂,在实际外汇 EA 编程开发中,根据需要适当调整 iMomentum() 函数的参数即可。

未经允许不得转载:ea编程网 » 动量指标(Momentum)编程数据的获取