MT4 BB (ボリンジャーバンド(Bollinger Bands))シグナル判定

BB(ボリンジャーバンド(Bollinger Bands))を用いたシグナル判定


BB(ボリンジャーバンド(Bollinger Bands))は、2σラインへのタッチにてシグナル、クローズを判定するトレード手法です。

MT4サンプル


MT4でのBB(ボリンジャーバンド)によるシグナル判定処理をご紹介します。

/*------------------------------------------------------
関数名   bb_signal_bb_cross

内容    BBエントリー判定(仕掛けシグナル関数)

引数     なし
   
戻り値   1:買いシグナル、-1:売りシグナル

-------------------------------------------------------*/
extern string BB_SIGNAL_BB_CROSS="----BB_SIGNAL_BB_CROSS----";
input int BBPeriod = 20;  //ボリンジャーバンドの期間
input double BBDev = 2.0; //標準偏差の倍率
int bb_signal_bb_cross(int pos_id=0)
{

   // テクニカル指標の設定
   CiBands BBands;           //ボリンジャーバンドのオブジェクト

   // テクニカル指標の初期化
   if(BBands.MaPeriod() < 0)
      BBands.Create(_Symbol, 0, BBPeriod, 0, BBDev, PRICE_CLOSE);

   // テクニカル指標の更新
   BBands.Refresh(); 

  // ポジションの種類
   int type = MyOrderType(pos_id); 

  // シグナルの初期化
   int ret = 0; 

   // 買いシグナル
   if((type == OP_NONE || type == OP_SELL) 
      && Close[0] < BBands.Lower(0) && Close[1] >= BBands.Lower(1))
      ret = 1;

   // 売りシグナル
   if((type == OP_NONE || type == OP_BUY)
      && Close[0] > BBands.Upper(0) && Close[1] <= BBands.Upper(1))
      ret = -1;

   return ret; //シグナルの出力
}

関連記事


http://www.finance-lab.yokohama/technical/bb/