Bollinger 策略家族¶
這一頁聚焦在本專案最核心的一組策略:
BollingerATRStrategyBollingerATRStrategyV2BollingerATRStrategyV3BollingerATRStrategyV4BollingerATRStrategyOpt
設計定位¶
這一組策略不是單純「價格碰到布林帶就進場」,而是:
- 先觀察極值突破
- 再等待回彈型態成立
- 之後才進場
也就是它比較像:
- 布林帶 + ATR 波動條件
- 型態識別
- 中線 / 止損 / 反手機制
核心概念¶
1. 布林帶¶
策略會使用:
MAUpperLowerSTD
以及內軌:
IN_UPPERIN_LOWER
2. 型態識別¶
它不是單根觸發,而是追蹤一段局部極值變化。
做空型態¶
一般概念可理解為:
- 價格突破上軌
- 系統持續追蹤近期最高價
- 若之後不再創高,並回落超過偏移門檻
- 進場做空
做多型態¶
相反方向:
- 跌破下軌
- 持續追蹤近期最低價
- 若之後不再創低,並反彈超過偏移門檻
- 進場做多
3. 止損機制¶
策略除了基本止損外,還有不少結構性防護:
- 以過去
k根高低點建立止損基準 - 加上偏移量形成真正止損線
- 可啟用中線止損
- 可啟用中線停利
- 可設定止損反手
- 可設定中線停利反手
4. 通道收縮 / 觀望¶
部分版本中可透過:
enable_channel_squeeze_filter
讓策略在布林通道過窄時選擇觀望。
V1 到 V4 的差異¶
V1¶
最基礎版本。
特徵:
- 具備布林突破 + 回彈進場邏輯
- 具備基本止損與中線相關控制
- 指標與狀態在止損後不做強力結構重置
適合:
- 理解整個策略家族的原始基礎
V2¶
V2 引入了更強的持倉期中線 / MA 重算觀念。
直觀上可以理解成:
- 進場後,中線的參考方式更積極貼近持倉狀態
這會讓:
- 中線止損 / 中線停利的性質改變
- 持倉中的判斷更貼近進場後的新局面
V3¶
V3 的關鍵是:
- 結構性冷卻
- 止損後不立刻用舊狀態重新交易
常見相關參數:
stop_loss_windowreset_window_on_stop_loss
你可以把它理解成:
- 一旦止損,布林窗口會被截斷 / 重建
- 讓策略必須重新觀察市場,而不是延續舊訊號環境
V4¶
V4 比 V3 更進一步。
除了窗口重置外,它還更強調:
- 訊號狀態清空
- 型態記憶淨化
設計哲學是:
- 止損之後,不應該沿用「剛剛那波失敗行情」的殘留記憶
所以 V4 通常比 V3 更保守,但抗洗盤能力更強。
Opt¶
BollingerATRStrategyOpt 不是單純的「第五版」。
它比較像是:
- 在策略內部再做一層動態優化 / fallback 優化的策略
它和外部 /optimization/tasks 的差別在於:
/optimization/tasks是系統外部枚舉參數BollingerATRStrategyOpt是策略內部自己做優化邏輯
所以兩者不是同一個概念。
重要參數群¶
以下是你在理解策略時最值得先掌握的參數群。
布林與窗口¶
init_windowmin_windowmax_windowwindow_stepstdin_std
波動與型態¶
atr_windowmax_fluctuationmin_fluctuationk
進場¶
entry_typecalc_timingprice_offset_longprice_offset_short
止損與停利¶
stop_loss_offset_longstop_loss_offset_shortstop_loss_flipenable_middle_stop_lossenable_middle_take_profitmiddle_take_profit_barsmiddle_stop_loss_flipmiddle_take_profit_flip
結構保護¶
stop_loss_windowreset_window_on_stop_lossenable_channel_squeeze_filtermiddle_stop_loss_skip_on_squeezemiddle_take_profit_skip_on_squeeze
如何選版本¶
若你想要基礎版本¶
BollingerATRStrategy
若你想要更貼近持倉內動態中線¶
BollingerATRStrategyV2
若你重視止損後冷卻¶
BollingerATRStrategyV3
若你重視抗洗盤與狀態淨化¶
BollingerATRStrategyV4
若你想研究策略內自適應優化¶
BollingerATRStrategyOpt
前端顯示注意事項¶
指標對前端暴露時,IndicatorStore 中的鍵名有專門文件:
docs/INDICATORS_BOLLINGER_FRONTEND.md
如果你要畫:
- 當根交易用布林
- TEMA
- slope window
請優先對照那份鍵名文件,而不是自行猜測指標欄位。
重構觀點下的建議¶
如果你的目標是未來重構或重做這套策略系統,最重要的是把它拆成三層:
- 指標計算層
- 訊號狀態機層
- 下單與風控決策層
目前這些邏輯仍大量內聚在單一策略類中。
這對研究很方便,但對長期演化與測試來說,拆層會更好維護。