突破策略完整教學
Donchian / NR7 / 開盤區間
突破策略是趨勢追蹤的核心:價格突破某個關鍵區間,跟著走。 1950 年代 Richard Donchian 發明的 Donchian Channel 是這類策略的鼻祖,海龜交易(1983)用的也是 Donchian。
本文講三種經典突破策略(Donchian / NR7 / 開盤區間)、 怎麼用 ATR 過濾假突破、配合成交量確認、完整 Pine 實作。
1. 突破策略的核心邏輯
所有突破策略都基於同一個假設:當價格突破近期高/低點,往往會延續方向走一段。
背後的市場心理:
- 突破新高 = 之前在高點賣的人錯了 + 新買盤湧入 + 空頭被軋
- 突破新低 = 之前在低點買的人錯了 + 新賣盤湧入 + 多頭被洗
這套邏輯在加密貨幣特別有效,因為:
- 24/7 開盤 → 突破發生時沒有「等開盤」的延遲
- 波動大 → 突破後動能強
- 明顯週期 → 大牛大熊,突破方向常持續
2. 經典實作 ①:Donchian Channel(海龜的核心)
Donchian Channel 由 Richard Donchian 在 1950 年代發明,1949 年他創立 Futures Inc. 提供管理型期貨服務, 是最早做這事的人。
三條線:
上軌 = 過去 N 期最高價
下軌 = 過去 N 期最低價
中軌 = (上軌 + 下軌) / 2
N 常用值:
20 — 短期突破(海龜 System 1)
55 — 長期突破(海龜 System 2)
10 — scalping//@version=5
strategy("Donchian 20 突破", overlay=true,
initial_capital=10000, default_qty_type=strategy.percent_of_equity,
default_qty_value=10)
length = input.int(20, "通道週期")
exitLength = input.int(10, "出場通道週期")
upperBand = ta.highest(high, length)[1]
lowerBand = ta.lowest(low, length)[1]
exitUpper = ta.highest(high, exitLength)[1]
exitLower = ta.lowest(low, exitLength)[1]
// 突破上軌做多
if (close > upperBand)
strategy.entry("Long", strategy.long)
// 跌破出場下軌
if (close < exitLower)
strategy.close("Long")
// 突破下軌做空
if (close < lowerBand)
strategy.entry("Short", strategy.short)
// 漲破出場上軌
if (close > exitUpper)
strategy.close("Short")
plot(upperBand, "上軌", color=color.red)
plot(lowerBand, "下軌", color=color.green)
plot((upperBand + lowerBand) / 2, "中軌", color=color.gray)3. 經典實作 ②:NR7(窄幅 K 棒收縮)
NR7(Narrow Range 7)由 Linda Bradford Raschke 推廣。 原理:當出現「過去 7 根 K 棒裡最窄的一根」, 往往代表市場在累積能量,下一根突破方向有大行情。
//@version=5
strategy("NR7 突破", overlay=true)
range_ = high - low
nr7 = range_ == ta.lowest(range_, 7) // 過去 7 根最窄
prevHigh = high[1]
prevLow = low[1]
// NR7 後 K 棒突破上一根高點 → 做多
if (nr7[1] and close > prevHigh)
strategy.entry("Long", strategy.long)
// NR7 後 K 棒突破上一根低點 → 做空
if (nr7[1] and close < prevLow)
strategy.entry("Short", strategy.short)
// NR7 K 棒標記
plotshape(nr7, "NR7", location=location.belowbar,
color=color.yellow, style=shape.circle)IB(Inside Bar)= 整根 K 在前一根 K 內,類似擠壓
IB+NR4 = 同時是 Inside Bar 跟 NR4,是 Raschke 最愛的「火藥桶」
4. 經典實作 ③:開盤區間突破(ORB)
Opening Range Breakout(ORB)由 Toby Crabel 在 《Day Trading with Short Term Price Patterns》一書系統化。 原理:用開盤後 N 分鐘的高低當區間,突破方向跟。
這個策略在有明確開盤的市場最有效(美股、台股、原油期貨)。 加密 24/7 沒「開盤」,但可以用 UTC 00:00 作為類比基準。
//@version=5
strategy("ORB 開盤區間突破(5 分鐘)", overlay=true)
// 用 5 分鐘圖跑,定義「開盤 30 分鐘」= 6 根 K
openingBars = input.int(6, "開盤幾根 K")
// 判斷是否在開盤時段(UTC 00:00 開始)
isOpeningTime = (hour == 0 and minute < 30)
// 開盤區間高低
var float orbHigh = na
var float orbLow = na
if (isOpeningTime)
orbHigh := math.max(nz(orbHigh, high), high)
orbLow := math.min(nz(orbLow, low), low)
else if (hour == 0 and minute == 30)
// 開盤區間結算
label.new(bar_index, orbHigh,
"ORB High: " + str.tostring(orbHigh, "#.##"))
// 突破 ORB 上限做多
if (not isOpeningTime and not na(orbHigh) and close > orbHigh)
strategy.entry("Long", strategy.long)
// 突破 ORB 下限做空
if (not isOpeningTime and not na(orbLow) and close < orbLow)
strategy.entry("Short", strategy.short)
// 收盤前出場
if (hour == 23 and minute >= 45)
strategy.close_all()
plot(orbHigh, "ORB High", color=color.red)
plot(orbLow, "ORB Low", color=color.green)5. 避免假突破的三大濾網
突破策略最大的敵人是假突破。三種過濾法:
濾網 ①:ATR 幅度過濾
要求突破幅度大於 ATR × 0.5 才算數。 詳見 ATR 完整教學。
atr = ta.atr(14)
prevHigh = ta.highest(high, 20)[1]
// 真突破 = close 突破 prev high + 至少 0.5 ATR
trueBreakout = close > prevHigh + atr * 0.5濾網 ②:成交量確認
真突破常伴隨爆量。 假突破常是「無量上漲」 — 沒人接,馬上回。
avgVolume = ta.sma(volume, 20)
volumeSpike = volume > avgVolume * 1.5 // 爆量 50%+
if (close > prevHigh and volumeSpike)
strategy.entry("Long", strategy.long)濾網 ③:大趨勢方向過濾
只接受「跟大趨勢同方向」的突破。 BTC 在 SMA 200 上方時只做多突破、下方只做空突破。
sma200 = ta.sma(close, 200)
trendUp = close > sma200
trendDown = close < sma200
if (close > prevHigh and trendUp)
strategy.entry("Long", strategy.long)
if (close < prevLow and trendDown)
strategy.entry("Short", strategy.short)6. 突破策略的勝率與賠率特性
| 特性 | 數字 |
|---|---|
| 勝率 | 30-45%(不高) |
| 賠率(賺/虧比) | 2:1 ~ 5:1(強) |
| 期望值 | 正 |
| 心理門檻 | 高(60% 的時間在虧) |
7. 跟海龜系統的關係
海龜交易(詳見 CTA 趨勢追蹤 + 海龜交易)就是 Donchian 突破 + ATR 部位 + 強紀律的組合:
- 進場:Donchian 20 或 55 突破
- 停損:2 ATR 反向
- 部位:1% 風險 / ATR
- 加倉:每漲 0.5 ATR 再加一個 unit,最多 4 個
- 出場:跌破 Donchian 10 或 20
這套規則 1983 年寫的,套到 2026 的 BTC 仍然能跑。
8. 三個關鍵 takeaway
- 突破策略勝率低但賠率強。 心理門檻高,必須機械化執行
- 假突破是頭號敵人。 ATR 幅度 + 成交量 + 趨勢方向三濾網能擋掉 50% 雜訊
- Donchian + ATR + 紀律 = 海龜公式。 1983 年的系統至今仍適用 — 規則簡單到爆,難在執行