Bollinger Bands(iBands)関数|MT4インディケータ

2024年10月1日

執筆者

佐川直弘(株式会社トリロジー取締役)

MetaTrader 4(MT4)を使ったFX自動売買において、テクニカル指標の理解と活用は非常に重要です。この記事では、ボリンジャーバンド(Bollinger Bands)インディケータについて、初心者にもわかりやすく解説します。

ボリンジャーバンド(Bollinger Bands)とは?

ボリンジャーバンドは、ジョン・ボリンジャーによって開発されたテクニカル指標で、価格の変動範囲を示すために使用されます。この指標は、移動平均線(MA)とその上下に配置される標準偏差(σ)バンドで構成されており、相場のボラティリティを視覚的に捉えることができます。バンドが広がるとボラティリティが高く、狭まるとボラティリティが低いことを示します。

iBandsの計算方法

MT4では、ボリンジャーバンドを計算するためにiBands()関数を使用します。この関数は以下のように定義されています。

関数仕様
double iBands(
    string symbol,   // 通貨ペア種類
    int timeframe,   // 時間軸種類
    int period,      // 移動平均の期間
    int deviation,   // 標準偏差(σ)
    int bands_shift, // バンドをシフトするバーの数(右方向へシフト)
    int applied_price,// 価格種類
    int mode,        // インディケータライン種類
    int shift        // 取得するバーの位置(0が最新のバーを表し、1~が過去のバーに遡っていきます)
);

この関数は、指定された通貨ペアと時間軸におけるボリンジャーバンドの値を返します。

引数の説明

symbol
通貨ペアの種類を指定します。例えば、"EURUSD"や"GBPJPY"など。
timeframe
時間軸の種類を指定します。例えば、1分足(1)、5分足(5)、1時間足(60)など。
period
移動平均の期間を指定します。
deviation
標準偏差(σ)を指定します。
bands_shift
バンドをシフトするバーの数を指定します。
applied_price
価格の種類を指定します。
mode
インディケータラインの種類を指定します。
– `MODE_UPPER` – 上バンド
– `MODE_MAIN` – 中央移動平均
– `MODE_LOWER` – 下バンド
shift
取得するバーの位置を指定します。0が最新のバーを表し、1以上の数値が過去のバーを表します。

サンプルコード

以下に、iBands()関数を使用して最新のバーのボリンジャーバンドの値を取得するサンプルコードを示します。

サンプルコード
// EURUSDの1時間足で最新のバーの下バンドの値を取得する例
double lower_band = iBands(“EURUSD", PERIOD_H1, 20, 2, 0, PRICE_LOW, MODE_LOWER, 0);
Print(“EURUSDの1時間足の最新の下バンドの値: “, lower_band);

このサンプルコードでは、"EURUSD"の1時間足における最新の下バンドの値を取得し、ターミナルウィンドウに表示します。

iBandsOnArrayの計算方法

iBandsOnArray()関数は、ユーザが作成した自由なデータを元にボリンジャーバンドを計算するために使用されます。この関数は、価格データを格納した配列を引数に指定します。

関数仕様
double iBandsOnArray(
    double array[],  // 価格データの配列
    int total,       // 配列のうち計算に使用する個数。全てを使用する場合は0を指定する。
    int period,      // 移動平均の期間
    int deviation,   // 標準偏差(σ)
    int bands_shift, // バンドをシフトするバーの数(右方向へシフト)
    int mode,        // インディケータライン種類
    int shift        // 取得するバーの位置(0が最新のバーを表し、1~が過去のバーに遡っていきます)
);

サンプルコード

以下に、iBandsOnArray()関数を使用してボリンジャーバンドの値を取得するサンプルコードを示します。

サンプルコード
// 配列に格納された価格データからボリンジャーバンドの下バンドの値を取得する例
double ExtBuffer[];
ArrayResize(ExtBuffer, Bars);
for(int i = 0; i < Bars; i++) {
    ExtBuffer[i] = Close[i];
}
double lower_band_array = iBandsOnArray(ExtBuffer, 0, 20, 2, 0, MODE_LOWER, 0);
Print(“配列から計算されたボリンジャーバンドの下バンドの値: “, lower_band_array);

このサンプルコードでは、配列に格納された価格データからボリンジャーバンドの下バンドの値を計算し、ターミナルウィンドウに表示します。

まとめ

ボリンジャーバンド(Bollinger Bands)インディケータは、相場のボラティリティを評価するための強力なツールです。MT4のiBands()およびiBandsOnArray()関数を使用することで、簡単にこのインディケータの値を取得し、トレード戦略に活用することができます。初心者の方も、この基本的な使い方を理解して、実際のトレードに応用してみてください。

MQL4

Posted by 佐川直弘