【勝てない?】ボリンジャーバンドだけで勝てる?AI検証で判明|だまし回避と5分足おすすめ設定
【結論】ボリンジャーバンドだけで勝てるのか?
AIによる検証では、ボリンジャーバンド単体、5分足での勝率は32.15%・PF1.0154。
長期的に安定して勝ち続けるのは難しいという結果になった。
ただしRSIを組み合わせることでだましを回避してPF1.08に改善。
つまり「ボリンジャーバンドだけでは勝てない」
しかし、RSIと組み合わせる手法だと武器になる。
ボリンジャーバンドとは?なぜ人気が続くのか
ボリンジャーバンドは、移動平均線に標準偏差(σ)を加減して描かれるテクニカル指標。
価格の「行きすぎ」「戻りすぎ」を視覚的に判断できるのが特徴だ。
「+2σに触れたら売り」「-2σに触れたら買い」といった逆張りルールが有名で、初心者トレーダーにも人気が高い。
シンプルで、見た目にもわかりやすく、安心感がある。
最強とも名高い。
ただしこのわかりやすさが落とし穴にもなる。
強いトレンドが出た瞬間、逆張りシグナルが連発してしまい、 結果として損失を積み上げるケースが多い。
「反発するはず」が、「そのまま伸びていく」。
この一撃で、口座が大きく削られる。
つまり、視覚的にはわかりやすいが、 実際の優位性は「環境次第」だということだ。
ボリンジャーバンドだけで勝てるようになるには、だまし回避が必須のようだ。
AIにプロンプトを入力してみた
AXIORYのヒストリカルデータを利用して、AIに検証してもらいました。
ボリンジャーバンドだけで勝てるかどうかを検証してください。
条件:
・環境 : MT4
・通貨ペア:USDJPY
・期間:2021年1月〜2025年8月
・時間足:5分足
・設定値:
基準線(期間):20本(=100分相当)
標準偏差:2.0(±2σ)
売買ルール:
ロング(買い)
終値が下バンド(-2σ)を下抜け → 次足始値で買いエントリー
ショート(売り)
終値が上バンド(+2σ)を上抜け → 次足始値で売りエントリー
・決済:
固定リスクリワード型
利確:+15 pips
損切:-7 pips
(RR ≈ 2.1)
出力内容:
①総トレード数
②勝率
③平均リスクリワード比
④トータル損益
⑤プロフィットファクター(PF)
5年分のチャートをシミュレーションした。
初回検証の結果 → 想像以上にシビア
AIが出したバックテスト結果は次の通り。
-
①総トレード数 : 15701
②勝率 : 32.15%
③平均リスクリワード比 : 2.1429
④トータル損益 : +1149.0 pips
⑤プロフィットファクター(PF) : 1.0154
結果はかろうじてプラスだが、ボリンジャーバンドだけで勝てるとはまだ言いがたい。
レンジ崩壊やトレンド初動での逆張り負けが多発した。
つまり、だまし回避ができず「ボリンジャーバンドだけで勝てる」は幻想に。
反発すると思って入った瞬間に突き抜ける。
これが繰り返される。
なぜボリンジャーバンドだけでは勝てないのか
トレンド転換を読めない
強トレンド中に逆張りシグナルが続出し、ドローダウンが拡大する。
σタッチのだましが多い
ボラティリティが一瞬だけ上がり、+2σに触れた瞬間に反転せずそのまま抜ける。
環境認識がない
レンジかトレンドかを判断せず使うと、反発の根拠が薄くなる。
要するに、「ボリンジャーバンドは値動きの“結果”を映す鏡」であって、
未来を示す指針ではないということだ。
条件を加えて再検証
AIに再検証を依頼した。
利用したインジケーターは
結果的には、ボリンジャーバンド x RSIの組み合わせが一番成績が向上した。
こちらも参考 : RSIだけで勝てる?【使えない説をAI検証】
RSI設定値 14 RSI<30でロング方向・RSI>70でショート方向
-
①総トレード数 : 15701 → 10,184
②勝率 : 32.15% → 32.7%
③平均リスクリワード比 : 2.1429 → 2.1429
④トータル損益 : +1149.0 pips → +2,038 pips
⑤プロフィットファクター(PF) : 1.0154 → 1.0425
ボリンジャーバンドの弱点であるだまし回避効果が高く、逆張りの失敗が減った。
勝てなかったボリンジャーバンドの失敗パターン組み合わせ
MACD
短期EMA(ファスト):12
長期EMA(スロー):26
シグナル線(平滑化):9
①総トレード数 : 857
②勝率 : 35.0%
③平均リスクリワード比 : 2.1429
④トータル損益 : +601.0 pips
⑤プロフィットファクター(PF) : 1.1541
一目均衡表の雲だけ
・転換線:9
・基準線:26
①総トレード数 : 2,224
②勝率 : 33.2%
③平均リスクリワード比 : 2.1429
④トータル損益 : +690.0 pips
⑤プロフィットファクター(PF) : 1.066
200ma
①総トレード数 : 314回
②勝率 : 42.36%
③平均RR : 2.14
④総獲得pips : +1,168.35
⑤プロフィットファクター(PF) : 1.59
ADX
設定値 : 25
①総トレード数 : 8,290
②勝率 : 32.63%
③平均リスクリワード比 : 2.1429
④トータル損益 : +1,480.0 pips
⑤プロフィットファクター(PF) : 1.038
ボリンジャーバンドはRSI以外のインジケーターとの組み合わせで、飛躍的に成績を向上させることは難しかった。
さらに時間帯別で検証
ボリンジャーバンド x RSIで東京・欧州・NY時間帯別の成績。
-
東京時間
①総トレード数 : 3,521
②勝率 : 31.38%
③平均RR : 2.1429
④トータル損益:-337.0 pips
⑤PF : 0.9801
欧州
①総トレード数 : 2,535
②勝率 : 32.94%
③平均RR : 2.1429
④トータル損益 : +625.0 pips
⑤PF:1.0525
NY
①総トレード数 : 2,887
②勝率 : 34.19% ③平均RR : 2.1429
④トータル損益 : +1,505.0 pips
⑤PF : 1.1132
ざっくり解釈すると
-
・NY時間が最も良好(PF>1.11、勝率↑)。
・東京時間はマイナス レンジ優位で「-2σ・+2σブレイクの逆張り」はだましに合いやすい。
・欧州は中間的でプラス。
東京時間を避けると精度が上がることがわかった。
-
①総トレード数:5,422
②勝率:33.6%
③総損益:+2,130 pips
④平均RR : 2.1429
④PF:1.08
TradingViewで使えるインジケーター
//@version=5
indicator("BB + RSI(30/70) Signals (v5)", overlay=true, timeframe="", timeframe_gaps=true)
// ==== Inputs ====
bbLen = input.int(20, "BB Length")
bbMult = input.float(2.0,"BB StdDev Mult", step=0.1)
rsiLen = input.int(14, "RSI Length")
rsiBuy = input.float(30, "RSI Long Threshold (≤)")
rsiSell = input.float(70, "RSI Short Threshold (≥)")
showBg = input.bool(true,"Color background on signals")
showLbl = input.bool(true,"Plot labels on signals")
// ==== Bollinger Bands ====
basis = ta.sma(close, bbLen)
dev = bbMult * ta.stdev(close, bbLen)
upper = basis + dev
lower = basis - dev
plot(basis, "BB Basis", color=color.new(color.blue, 0))
plot(upper, "BB Upper", color=color.new(color.blue, 0))
plot(lower, "BB Lower", color=color.new(color.blue, 0))
// ==== RSI ====
rsi = ta.rsi(close, rsiLen)
// ==== Signal logic (bar close only) ====
longCond = close < lower and rsi <= rsiBuy
shortCond = close > upper and rsi >= rsiSell
sigLong = longCond and barstate.isconfirmed
sigShort = shortCond and barstate.isconfirmed
// ==== Plot signals (グローバルで呼ぶ) ====
plotshape(showLbl and sigLong, title="BB+RSI Long", style=shape.triangleup, location=location.belowbar, color=color.new(color.lime, 0), size=size.tiny, text="BB+RSI\nLONG")
plotshape(showLbl and sigShort, title="BB+RSI Short", style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.tiny, text="BB+RSI\nSHORT")
// Optional background highlight
bgcolor(showBg and sigLong ? color.new(color.lime, 85) : na)
bgcolor(showBg and sigShort ? color.new(color.red, 85) : na)
// ==== Alerts ====
alertcondition(sigLong, title="BB+RSI Long", message="BB+RSI Long: {{ticker}} {{interval}} @ {{close}}")
alertcondition(sigShort, title="BB+RSI Short", message="BB+RSI Short: {{ticker}} {{interval}} @ {{close}}")
// ==== Info Panel (tiny) ====
var label info = na
if barstate.islastconfirmedhistory
label.delete(info)
txt = "BB("+str.tostring(bbLen)+", "+str.tostring(bbMult)+") | RSI("+str.tostring(rsiLen)+") | Long ≤ "+str.tostring(rsiBuy)+" / Short ≥ "+str.tostring(rsiSell)
info := label.new(bar_index, high, txt, style=label.style_label_left, textcolor=color.white, color=color.new(color.black, 50))
まとめ
ボリンジャーバンド単体 → 勝率32.15%・PF1.0154
ボリンジャーバンド x RSIとの組み合わせ+東京時間除外 → 勝率33.6%・PF1.08
ボリンジャーバンドは、「だけで勝つ」インジケーターではない。
しかし、RSIと時間帯フィルターとを組み合わせたとき、希望が見えた。
余談だが、一番検証に時間が掛かったのがボリンジャーバンドであり、成績が向上しづらかったのも、またボリンジャーバンドであった。
-
特典&ご案内
今回の検証は Axioryのヒストリカルデータを使用しました。
(AXIORY口座を利用しない場合、同じ結果は再現できません)
詳細データや手法はPDFにまとめ、
今だけ【メルマガ登録者限定】で無償配布しています。
▶︎ 無料で今すぐ手に入れる(次回より有償化予定)
※この条件での配布は今回限り。
再配布は一切行いません。