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

强力指数指标(Force Index)编程数据的获取

强力指数(Force Index)是由亚历山大·埃尔德(Alexander Elder)博士开发的一种量价合一的技术指标,主要用于衡量价格变动的力度。Force Index结合了价格、交易量和时间间隔,以揭示趋势的起点、终点和可能的反转。

要在MT4中安装Force Index指标,可以在MT4上方菜单栏依次点击-插入-技术指标-振荡指标-Force Index,在出来指标属性框中设置好相关参数后,点“确定”即可将Force Index插入到当前图表中。如下图所示:

强力指数指标(Force Index)

在MT4平台上,获取Force Index指标数据可以使用iForce()函数。其函数结构如下:

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

其中参数说明:

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

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

double Force_1 = iForce(Symbol(), 0, 13, MODE_EMA, PRICE_CLOSE, 1);

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

double XAUUSDForce_0 = iForce("XAUUSD", PERIOD_H1, 13, MODE_EMA, PRICE_CLOSE, 0); 

同样,我们可以获取美元兑日元 USDJPY 三十分钟 M30 图表中最新 0 号 K 线对应的 Force Index 值:

double USDJPYForce_0 = iForce("USDJPY", PERIOD_M30, 13, MODE_EMA, PRICE_CLOSE, 0);

如果要获取多个单位的 Force Index 指标的值,可以定义数组并结合 for() 循环来编写。例如,要获取最近五个单位的 Force Index 指标的值,可以这样编写:

double ForceArray[5];
for(int i=0; i<5; i++)
{
    ForceArray[i] = iForce(Symbol(), 0, 13, MODE_EMA, PRICE_CLOSE, i);
}

总的来说,Force Index 指标的编程并不复杂,实际的外汇 EA 编程开发中根据需要演变 iForce() 函数的参数即可。

未经允许不得转载:ea编程网 » 强力指数指标(Force Index)编程数据的获取