
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; //シグナルの出力
}