Bollinger Bands 完整教学
不只看「碰上轨卖、碰下轨买」
Bollinger Bands(布林通道)是 John Bollinger 在 1980 年代发明的波动率指标,全球几乎所有交易者都看过。 但 90% 的人只用「碰上轨卖、碰下轨买」这个入门用法 — 这在强趋势盘会连续打脸。
本文讲原理(为什么用 ±2 倍标准差)、四种真实用法、 「Squeeze 挤压」突破策略、Bollinger 自己定义的 Walk the Bands 现象、 完整 Pine 代码。
1. Bollinger Bands 的数学原理
三条线:
中轨 = SMA(close, 20) // 20 期简单移动平均
标准差 = stdev(close, 20) // 过去 20 期收盘价的标准差
上轨 = 中轨 + 2 × 标准差
下轨 = 中轨 - 2 × 标准差关键词:标准差。
为什么用 ±2 倍标准差?
统计学原理:如果价格分布是正态分布,有 95.4% 的时间落在 ±2σ 内。 意思是「100 根 K 棒中,大约 95 根会在通道内,5 根会碰或穿出去」。
但真实的金融资产不是正态分布 — 会有「肥尾」(fat tails),极端事件比正态多。 所以实际碰轨频率会比 5% 高。这个偏差是 Bollinger Bands 的陷阱, 也是后面讲「Walk the Bands」现象的根源。
2. 入门用法:均值回归(最常见,最容易死)
直觉:
- 价格碰上轨 → 涨过头,反弹做空
- 价格碰下轨 → 跌过头,反弹做多
Bollinger 自己叫这种现象「Walking the Bands」 — 趋势盘的特征,不是反转信号。
//@version=5
strategy("BB 均值回归(教学版)", overlay=true)
length = input.int(20, "周期")
mult = input.float(2.0, "标准差倍数")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
// 价格碰下轨 → 买
if (ta.crossunder(low, lower))
strategy.entry("Long", strategy.long)
// 价格碰上轨 → 卖
if (ta.crossover(high, upper))
strategy.entry("Short", strategy.short)
plot(basis, "中轨", color=color.orange)
plot(upper, "上轨", color=color.red)
plot(lower, "下轨", color=color.green)3. 中阶用法:Squeeze 突破策略
这是 Bollinger Bands 真正强的用法。 当通道收窄(上下轨靠近),代表波动率变低、 市场在累积能量 → 突破方向常常有大行情。
怎么定义 Squeeze?
有两种常见定义:
A. Bollinger Bands Width(BBW)
BBW = (上轨 - 下轨) / 中轨BBW 跌到过去 X 期最低 = Squeeze。Bollinger 自己用 6 个月低点当门槛。
B. Bollinger Squeeze(vs Keltner Channel)
当 Bollinger Bands 完全在 Keltner Channel 内,视为 Squeeze。 这是 John Carter 的版本(《Mastering the Trade》一书)。
//@version=5
strategy("BB Squeeze 突破", overlay=true)
length = input.int(20, "周期")
mult = input.float(2.0, "BB 倍数")
keltnerMult = input.float(1.5, "Keltner 倍数")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
bbUpper = basis + dev
bbLower = basis - dev
atr = ta.atr(length)
keltnerUpper = basis + keltnerMult * atr
keltnerLower = basis - keltnerMult * atr
// Squeeze 条件:BB 在 Keltner 内
squeeze = bbUpper < keltnerUpper and bbLower > keltnerLower
// Squeeze 结束 + 价格突破上轨 → 做多
if (not squeeze and squeeze[1] and close > bbUpper)
strategy.entry("Long", strategy.long)
// Squeeze 结束 + 价格突破下轨 → 做空
if (not squeeze and squeeze[1] and close < bbLower)
strategy.entry("Short", strategy.short)
plot(basis, "中轨", color=color.orange)
plot(bbUpper, "BB 上轨", color=color.red)
plot(bbLower, "BB 下轨", color=color.green)
bgcolor(squeeze ? color.new(color.purple, 90) : na, title="Squeeze")4. 进阶用法:%B 指标
Bollinger 后来自己加了一个辅助指标 %B, 量化价格在通道内的相对位置:
%B = (close - 下轨) / (上轨 - 下轨)
%B = 0 → 价格刚碰下轨
%B = 0.5 → 价格在中轨
%B = 1 → 价格刚碰上轨
%B > 1 → 价格突破上轨(强趋势)
%B < 0 → 价格突破下轨(强趋势)用 %B 可以做:
- %B 背离:价格创新高但 %B 没创新高 → 趋势动能衰竭
- %B + RSI:当 %B > 0.95 且 RSI > 70 → 双重超买确认
- %B 突破 0.5:价格从下半部穿到上半部,常作为趋势开始信号
5. 高阶用法:BB + RSI + 趋势过滤
Bollinger 自己最推荐的组合用法。完整流程:
- 用 SMA 200 判断大趋势方向(在 SMA 200 上方 = 多头结构)
- 价格回踩 BB 中轨(不是下轨) → 趋势回踩买点
- RSI 同时 > 50(多头动能仍在)
- 进场做多
//@version=5
strategy("BB 中轨回踩 + 趋势过滤", overlay=true)
basis = ta.sma(close, 20)
dev = 2.0 * ta.stdev(close, 20)
upper = basis + dev
lower = basis - dev
sma200 = ta.sma(close, 200)
rsi = ta.rsi(close, 14)
// 多头结构:价格 > SMA 200 + RSI > 50
bullishStructure = close > sma200 and rsi > 50
// 回踩中轨:低点触及中轨但收盘站回中轨上
pullback = low <= basis and close > basis
if (bullishStructure and pullback)
strategy.entry("Long", strategy.long)
// 跌破中轨 + RSI < 50 → 出场
if (close < basis and rsi < 50)
strategy.close("Long")
plot(basis, "中轨", color=color.orange)
plot(upper, "上轨", color=color.red)
plot(lower, "下轨", color=color.green)
plot(sma200, "SMA 200", color=color.purple)6. 不同时间框架的 BB 该怎么解读
| 时间框架 | BB 用法 | 主要应用 |
|---|---|---|
| 1m / 5m | 杂讯多,不建议 | scalping,但胜率低 |
| 15m / 1h | Squeeze 突破最有效 | 日内波段 |
| 4h | 回踩中轨 + 趋势过滤 | 2-7 天波段 |
| D / W | 趋势方向判断 | 月级别配置 |
7. 常见错误
❌ 把 BB 当「绝对范围」
价格碰上轨 ≠ 一定要卖。在牛市中价格可以「Walking the Bands」连续碰轨十几根 K。 要看大趋势结构决定该不该逆势。
❌ 参数调太短
有人把 length 改成 5、mult 改成 1.0「想更敏感」 — 结果通道太窄、信号爆量、胜率掉到 30%。 坚持用 20 / 2.0 预设。
❌ 在 Squeeze 期间进场
Squeeze = 沉睡期,市场不动。在这时进场常常被闷到 stop out。 要等 Squeeze 结束 + 有明确突破才进场。
❌ 只看 BB 不看成交量
价格突破上轨但成交量没放大 → 假突破机率高。 真突破通常伴随爆量。
Get started
把你的策略接上 TradingView webhook,自动下单到 Binance / OKX / Bybit 等 7 家交易所。
免费注册 TVSBot8. Bollinger 自己给的「19 条法则」精华
John Bollinger 写过《Bollinger on Bollinger Bands》一书, 列了 19 条法则。挑最关键的:
- 法则 4:价格触碰通道本身不是信号, 要配合其他指标确认
- 法则 6:Squeeze 期间市场储存能量, 突破方向是大行情起点
- 法则 11:Walking the Bands 是趋势的正常现象, 不要逆势
- 法则 14:BB 是「相对」工具,不是「绝对」工具 — 上轨只是「相对高」、下轨只是「相对低」