Strategy · Pine Script v5 · On the chart

BB Squeeze Breakout

by muammeryldrm42

BB Squeeze Breakout is a volatility breakout strategy that identifies consolidation squeezes using Bollinger Band width percentile ranking.

View on GitHub

GitHub stars7on the repository
Pine versionv5runs as is
Lines of code43
Settings5inputs
LicenceMIT
Last update3 months ago8 Jul 2026

Add It to Your TradingView Chart

  1. 1Copy the scriptPress Copy script above, or the copy button on the code below.
  2. 2Open the Pine EditorOpen a TradingView chart and choose Pine Editor at the bottom of the screen.
  3. 3Paste over the templateCreate a new strategy, select all of the template text and paste. Press Save and give it a name.
  4. 4Add it to the chartPress Add to chart. The trades and results appear in the Strategy Tester tab; adjust the settings with the gear icon.

Source Code

43 lines of Pine Script v5 from public/code/indicators__bb_squeeze.pine, published under MIT. Keep the author's credit and licence lines when you reuse it.

indicators__bb_squeeze.pine
//@version=5
strategy("BB Squeeze Breakout", overlay=true,
         default_qty_type=strategy.percent_of_equity, default_qty_value=10)

bbLen   = input.int(20, "BB Period")
bbStd   = input.float(2.0, "BB Std")
sqLb    = input.int(50, "Squeeze Lookback")
volMult = input.float(1.2, "Volume Mult")
useVol  = input.bool(true, "Use Volume Filter")

basis = ta.sma(close, bbLen)
dev   = bbStd * ta.stdev(close, bbLen)
upper = basis + dev
lower = basis - dev
width = (upper - lower) / basis

avgVol = ta.sma(volume, 20)
volOk  = not useVol or volume > avgVol * volMult

// Squeeze: width below the 25th percentile over the last 5 candles
widthQ25 = ta.percentile_nearest_rank(width, sqLb, 25)
inSqueeze = ta.lowest(width, 5) < widthQ25

longBO  = inSqueeze and close > upper and close[1] <= upper[1] and volOk
shortBO = inSqueeze and close < lower and close[1] >= lower[1] and volOk

if longBO and strategy.position_size == 0
    sl   = basis
    risk = close - sl
    strategy.entry("BBs L", strategy.long)
    strategy.exit("X", "BBs L", stop=sl, limit=close + risk * 2.5)

if shortBO and strategy.position_size == 0
    sl   = basis
    risk = sl - close
    strategy.entry("BBs S", strategy.short)
    strategy.exit("X", "BBs S", stop=sl, limit=close - risk * 2.5)

plot(upper, "Upper BB", color.red)
plot(basis, "Mid BB", color.yellow)
plot(lower, "Lower BB", color.green)
plotshape(longBO,  "L", shape.triangleup,   location.belowbar, color.lime)
plotshape(shortBO, "S", shape.triangledown, location.abovebar, color.red)

Overview

When the band width drops below its 25th percentile and price crosses above or below the bands with optional volume confirmation, it triggers long or short entries. Stop loss is set at the middle band, and take profit is set at 2.5 times the initial risk distance. It plots Bollinger Bands and trade signals directly on the main price chart.

Details

Published by

muammeryldrm42 on GitHub

Type

Strategy, Pine Script v5

Draws

On the price chart

Category

Volatility & bands, Breakout, Moving averages, Volume

Markets

Any symbol

Timeframes

Any timeframe

Risk Notes

No repainting, lookahead or stacked entries were found in its code or README. That says nothing about how well it works: test it first.

Topics

cryptofuturessodexsosovaluestrategyvaluechain

Settings

The inputs you can change from the gear icon on the chart. Defaults are the author's.

SettingTypeDefaultVariable
BB Periodint20bbLen
BB Stdfloat2.0bbStd
Squeeze Lookbackint50sqLb
Volume Multfloat1.2volMult
Use Volume FilterbooltrueuseVol
Third-party code. ForexR did not write, test or endorse this script, and the summary above was generated automatically from its code and README. Indicators describe the past, and a strategy's backtest can look better than live trading, especially when a script repaints. Check it in the Strategy Tester and on a demo account before you rely on it.

Similar Pine Scripts

Bollinger Squeeze STEPFUN

by eltonaguiar
4 stars

This strategy detects Bollinger Band squeezes by measuring band width against a threshold. It waits for a confirmed breakout in either direction when bands expand, using optional volume confirmation. Long and short signals trigger on breakout after squeeze. Po

Strategy v5 Volatility & bandsBreakout
Updated today · None stated GitHub repository of Bollinger Squeeze STEPFUN

NR7 Range Breakout

by Basant1Saini
1 stars

NR7 Range Breakout identifies narrowest range bars over a specified lookback period and trades breakouts beyond their high or low price boundaries. It plots an exponential moving average trend filter alongside visual highlights for range compression and breako

Strategy v5 BreakoutVolatility & bands
Updated 7 months ago · None stated GitHub repository of NR7 Range Breakout
1 stars

This strategy draws on the price chart and filters directional signals with four optional checks. It compares a fast exponential moving average with a slower one, requires volume above its average when the volume audit is on, and aligns close with a higher-tim

Strategy v6 Moving averagesVolatility & bands
Updated 2 months ago · None stated GitHub repository of TnSovereign Fakeout Confirmed
257 stars

This overlay strategy is built for ES futures on the one-minute chart. It plots a volume-weighted moving average of price opens and standard-deviation bands at Fibonacci ratios, plus a second longer volume-weighted average from a higher-timeframe open. Call an

Strategy v5 Volatility & bandsMoving averages
Updated 6 weeks ago · None stated GitHub repository of ES Futures 1M No Repaint

Bollinger Breakout

by hackingthemarkets
189 stars

This price-chart strategy plots a simple moving average and upper and lower bands built from the standard deviation of close, scaled by separate offset inputs. It enters a fixed quantity long when close crosses above the upper band and a fixed quantity short w

Strategy v4 Volatility & bandsBreakout
Updated 3 years ago · None stated GitHub repository of Bollinger Breakout
106 stars

This strategy runs on the price chart and enters long when a fast simple moving average crosses above a slow one, and short on the opposite cross, while closing the other side. Entries also need ATR above a filter, a pullback check, a minimum candle-body chang

Strategy v5 TrendMoving averages
Updated 2 years ago · GPL-3.0 GitHub repository of 9:22 5 MIN 15 MIN BANKNIFTY

More strategys

Trade Your Charts With a Regulated Broker

Compare brokers that connect to TradingView, with spreads, minimum deposits and leverage side by side.

Compare brokers