最初、ボリンジャーバンドに出会った時はすごく優秀なインジケーターに見えました。
もし本当に価格が95%の確率で内側に入るならかなり高い確率で勝つことができます。
そこで初心者がよく考えるボリンジャーバンドの2σからの逆張り手法のEAを作成したいと思います。
ボリンジャーバンドとは?
ボリンジャーバンドとは平均からどれくらいデータにバラつきがあるかを示すインジケーターのことです。
ボリンジャーバンドはσ(シグマ)という線を同時に表示することができて1σ、2σ、3σはそれぞれ68.27%、95.45%、99.73%の確率でσの線の内側に収まるとされています。
そのため、価格がσの線に達したら逆張りでエントリーすれば95.45%の確率で勝つことができるのではないか?と考えがちです。
ボリンジャーバンドの2σ逆張りでEAを作成してみる
通貨ペア:
USDJPY
エントリールール:
ボリンジャーバンドのハイバンドに価格がタッチしたら売りエントリー、ボリンジャーバンドのローバンドに価格がタッチしたら買いエントリー
クローズ:
適当に50pipsで損切
反対側のバンドに達したら
ソースはこんな感じに(中で使用している関数などは省略)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
// クローズ処理 for(int i = OrdersHistoryTotal() - 1; i >= 0; i--){ if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){ //本EAのポジションの場合 if(OrderMagicNumber() == MagicNo){ if(OrderType() == OP_BUY){ if (High[1] >= Boli2Up) { ClosePositions(MagicNo,Slippage); } } if(OrderType() == OP_SELL){ if (Low[1] <= Boli2Low) { ClosePositions(MagicNo, Slippage); } } return(0); } } } //買い処理 if(Low[1] <= Boli2Low){ OrderSend(Symbol(),OP_BUY,Lots,Ask,GetSlippage(Symbol(),Slippage),Low[0] - (UsePoint*50),0,"buy",MagicNo,0,Blue); } //売り処理 if(High[1] >= Boli2Up){ OrderSend(Symbol(),OP_SELL,Lots,Bid,GetSlippage(Symbol(),Slippage),High[0] + (UsePoint*50),0,"sell",MagicNo,0,Red); } |
バックテスト結果
2005~2017年
スプレッド1pips
15分足
1時間足
4時間足
まとめ
ボリンジャーバンドの2σからの逆張りトレードを何も考えずにすると負けます。
つまりボリンジャーバンドの2σはよく突破される線ということです。
このような手法でトレードを行っている人は今すぐやめた方がいいです。
もし利益を出したいなら他のフィルターやロジックが必要になってくるでしょう。