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

威廉%R指标(WPR)编程数据的获取

威廉%R指标(WPR,也被称为Williams %R或者Williams Percent Range),是由Larry Williams发明的一种动量指标,用于显示当前的收盘价相对于过去N日的高低价格区间的位置。这个指标有助于找出潜在的超买或超卖点。

如何在MT4上安装威廉%R指标

在MT4上安装WPR指标相对简单,具体步骤如下:

  1. 在MT4的上方菜单栏,依次点击 “插入 – 技术指标 – 震荡指标 – Williams’ Percent Range”;
  2. 在打开的“Williams’ Percent Range参数”窗口中设置好相关参数;
  3. 点击“确定”,WPR指标就会被添加到当前图表上。
威廉%R指标

获取威廉%R指标数据

要在MQL4程序中获取WPR指标数据,可以使用MT4内置的函数iWPR()。这个函数的声明如下:

double iWPR(
   string symbol,   // 交易品种名称
   int timeframe,   // 图表时间周期
   int period,      // 平均周期值
   int shift        // 指标索引/序号
);

这个函数的参数说明:

  • symbol:交易品种名称。如果要引用当前图表的交易品种,可以使用Symbol()函数。如果要指定其他交易品种,可以直接写入,比如 "XAUUSD""USDJPY"等。
  • timeframe:图表周期。这里可以使用MT4的预定义常量,比如PERIOD_H1(一小时图表)或PERIOD_M30(30分钟图表)等。
  • period:计算WPR指标的周期值。默认值通常设为14。
  • shift:指标的索引。0表示当前最新的K线,然后从右往左分别是1、2、3、4等。

举例来说,如果我们想获取当前图表上最近14个周期内的WPR值,可以这样编写代码:

double wpr = iWPR(Symbol(), 0, 14, 0);
Print("Current WPR: ", wpr);

再比如,如果我们想获取黄金XAUUSD一小时图表上最新的WPR值,可以这样编写代码:

double xauusd_wpr = iWPR("XAUUSD", PERIOD_H1, 14, 0);
Print("XAUUSD H1 WPR: ", xauusd_wpr);

又或者,如果我们想获取美元兑日元USDJPY三十分钟图表上最新的WPR值,可以这样编写代码:

double usdjpy_wpr = iWPR("USDJPY", PERIOD_M30, 14, 0);
Print("USDJPY M30 WPR: ", usdjpy_wpr

用数组和for循环获取多个单位指标值

如果我们想获取过去N个单位的WPR值,可以创建一个数组,并用for循环来实现。

比如,以下的代码片段就展示了如何获取过去10个单位的WPR值:

int period = 14;
int history = 10;
double wpr_array[history];

for(int i = 0; i < history; i++) {
    wpr_array[i] = iWPR(Symbol(), 0, period, i);
    Print("WPR at shift ", i, ": ", wpr_array[i]);
}

这段代码将分别计算过去10个单位的WPR值,并将它们存储在wpr_array数组中。然后,我们可以通过Print函数将这些值输出到日志中。

总的来说,获取和使用威廉%R指标的数据并不复杂,只需要熟悉iWPR()函数的用法,就可以在自己的MQL4程序中灵活地使用这个强大的指标了。

未经允许不得转载:ea编程网 » 威廉%R指标(WPR)编程数据的获取