Appearance

Personalize your experience

Mode
Accent Color
Layout
Direction
MarketplaceindicatorsBollinger Bands

Bollinger Bands

Admin's ChoiceFree

SMA with standard deviation upper/lower bands

4.8(421)
14.1k installs 1.9k 2 comments
Q
42 listings12400 followers

Official QuaTick team — building advanced charting & trading tools for the Indian market.

View Profile
bollingervolatilitybandssqueezemean-reversion
Free
Open in QuaTick IDE Edit in IDE
Version2.0.0
Updated2025-10-20
Compatiblecandlestick, heiken-ashi, line

Rating Distribution

5
1
4
0
3
0
2
0
1
0

Live Preview — BTC/USDT

About

Bollinger Bands plot a middle SMA line with upper and lower bands at N standard deviations. Used widely for volatility breakouts, squeeze detection, and mean reversion.


Parameters

Length (default 20)

Multiplier (default 2.0)

Source (close, hl2, etc.)

Outputs & Parameters

Outputs

Middle Bandline
Upper Bandband
Lower Bandband

Parameters

Length20
Multiplier2
Sourceclose

Source Code

Edit in IDE
typescript
1// Bollinger Bands — Quatick IDE (Middle Band)
2// SDK math globals available: sma, ema, atr, rsi, macd, bollingerBands, vwap, etc.
3 
4const metadata = { id: 'bollinger', name: 'Bollinger Bands', version: '1.0.0', category: 'volatility' };
5 
6interface BarData {
7 time: number;
8 open: number;
9 high: number;
10 low: number;
11 close: number;
12 volume?: number;
13}
14 
15const defaultParams = { period: 20, multiplier: 2, source: 'close' };
16 
17function calculate(bars: BarData[], params = defaultParams): { time: number; value: number }[] {
18 const prices = bars.map(b => {
19 if (params.source === 'open') return b.open;
20 if (params.source === 'high') return b.high;
21 if (params.source === 'low') return b.low;
22 return b.close;
23 });
24 
25 // bollingerBands() is an SDK global: bollingerBands(data[], period, mult) -> { upper, middle, lower }
26 const bb = bollingerBands(prices, params.period, params.multiplier);
27 
28 // Return the middle band (SMA). Change bb.middle to bb.upper or bb.lower as needed.
29 return bars
30 .map((bar, i) => ({ time: bar.time, value: bb.middle[i] }))
31 .filter(p => !isNaN(p.value));
32}
Read-only preview. Open in the QuaTick IDE to edit and deploy.

Reviews

No reviews yet. Be the first to review this listing.

Discussion

Sign in to join the discussion. Your posts and replies show up on your profile.