【勝てない?】ボリンジャーバンドだけで勝てる?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に再検証を依頼した。

利用したインジケーターは

    MACD
    一目均衡表の雲だけ
    200ma
    ストキャスティクス
    ADX
    RSI

結果的には、ボリンジャーバンド 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にまとめ、
    
今だけ【メルマガ登録者限定】で無償配布しています。

    ▶︎ 無料で今すぐ手に入れる(次回より有償化予定)
    ※この条件での配布は今回限り。
再配布は一切行いません。