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

标准偏差StdDev指标编程数据的获取

标准偏差(StdDev)是一种用于衡量价格波动的技术分析指标。它衡量价格的变动范围或者说价格的波动性,更大的标准偏差意味着价格的波动性更高。标准偏差被广泛应用于金融领域,尤其是在风险管理和投资组合管理中。

在MT4平台上,标准偏差是自带的技术指标之一。要添加标准偏差指标到图表,只需在mt4上方菜单栏依次点击-插入-技术指标-趋势指标-Standard Deviation,在出来的指标属性框中设置好相关参数后,点“确定”即可将StdDev插入到当前图表中。

标准偏差StdDev

在MT4平台上,要获取标准偏差指标数据,可以使用iStdDev()函数。

iStdDev()函数的结构如下:

double iStdDev(
   string symbol,          // symbol 
   int    timeframe,       // period 
   int    ma_period,       // averaging period 
   int    ma_shift,        // shift 
   int    ma_method,       // averaging method 
   int    applied_price,   // applied price 
   int    shift            // shift
   );

其中参数说明:

  • symbol:交易品种名称,当前窗口货币对为 Symbol()。
  • timeframe:图表周期,指一分钟 M1 到月线 MN1 共 9 个图表周期。
  • ma_period:移动平均线的平均周期值参数。
  • ma_shift:移动平均线的偏移值。
  • ma_method:移动平均线的计算方法,例如简单移动平均线(MODE_SMA)、指数移动平均线(MODE_EMA)、线性加权移动平均线(MODE_LWMA)和平滑移动平均线(MODE_SMMA)。
  • applied_price:价格类型,指收盘价、最高价、最低价等。
  • shift:获取对应指标线的索引/序号,0指当前最新 K 线所对应的值。

现在我们来看一些具体的使用例子。

获取当前图表中从右侧开始第二个 K 线,也就是 1 号 K 线对应的标准偏差值:

double StdDev_1 = iStdDev(Symbol(), 0, 14, 0, MODE_SMA, PRICE_CLOSE, 1);

跨图表获取黄金 XAUUSD 一小时 H1 图表中最新 0 号 K 线对应的标准偏差值:

double XAUUSDStdDev_0 = iStdDev("XAUUSD", PERIOD_H1, 14, 0, MODE_SMA, PRICE_CLOSE, 0);

获取美元兑日元 USDJPY 三十分钟 M30 图表中最新 0 号 K 线对应的标准偏差值:

double USDJPYStdDev_0 = iStdDev("USDJPY", PERIOD_M30, 14, 0, MODE_SMA, PRICE_CLOSE, 0);

如果你要获取多个单位的标准偏差指标的值,你可以定义一个数组,并结合 for() 循环来编写,如下:

int periods[] = {5, 10, 15, 20, 30};
for (int i=0; i<ArraySize(periods); i++) {
    double stdDev = iStdDev("USDJPY", periods[i], 14, 0, MODE_SMA, PRICE_CLOSE, 0);
    Print("The StdDev value for period ", periods[i], " is ", stdDev);
}

在这段代码中,periods[i]会在每次循环时选择数组中的一个时间周期(例如,5分钟,10分钟,15分钟等),然后通过iStdDev函数获取对应的标准偏差值。对于每一个周期,都会打印出标准偏差的值。

总的来说,标准偏差StdDev指标的编程不是很复杂,只需要根据你的需要调整 iStdDev() 函数的参数即可。

未经允许不得转载:ea编程网 » 标准偏差StdDev指标编程数据的获取