https://s3-us-west-2.amazonaws.com/secure.notion-static.com/875f7227-dfbd-4384-84d7-fd315f103fca/EURUSD_iM30.png

移動平均線を中心として、価格の標準偏差の定数倍だけ上下にシフトしたラインを引いた指標です。

関数書式

double  iBands(
   string              [symbol](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>),           // 銘柄
   ENUM_TIMEFRAMES     [timeframe](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>),        // 時間軸
   int                 period,           // 計算する期間
   double              deviation,        // 標準偏差の倍率
   int                 bands_shift,      // バンドのシフト
   ENUM_APPLIED_PRICE  [applied_price](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>),    // 価格の種類
   int                 mode,             // 出力するライン
   int                 [shift](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>)             // 計算するバーの位置
   );

ボリンジャーバンドのパラメータは、計算する期間periodと標準偏差の倍率deviationです。

どのラインを出力するかをmodeの引数で指定します。MODE_MAINが移動平均線、MODE_UPPERが上位ライン、MODE_LOWERが下位ラインを表します。

バンドを時間方向にシフトしたい場合、bands_shiftに0以外の値を代入します。プラスの値で右方向に、マイナスの値で左方向にシフトします。

使用例

ボリンジャーバンドと終値の交差

計算方法

基準となる中央ラインMain[0]は、Price[i]の単純移動平均線です。上位ラインUpper[0]は、Price[i]の標準偏差にdeviationを掛けた値をMain[0]に加算した値、下位ラインLower[i]は、その偏差をMain[0]から減算した値として求めます。

Main[0] = SMA(Price[i], N)
Upper[0] = Main[0] + deviation * StdDev(Price[i], N)
Lower[0] = Main[0] - deviation * StdDev(Price[i], N)

SMA(Price[i], N)Price[i]の単純移動平均

StdDev(Price[i], N)Price[i]の標準偏差

Price[i]applied_priceで指定した価格

Nma_period


<aside> 💡 N個のf(i)の標準偏差StdDev()は、以下のような式で計算されます。ただし、SMA()f(i)の単純移動平均を表します。

$StdDev(f(i), N)=\displaystyle\sqrt{\frac{1}{N}\sum_{i=0}^{N-1}(f(i)-SMA(f(i),N))^2}$

</aside>