跳轉到

Bollinger 策略家族

這一頁聚焦在本專案最核心的一組策略:

  • BollingerATRStrategy
  • BollingerATRStrategyV2
  • BollingerATRStrategyV3
  • BollingerATRStrategyV4
  • BollingerATRStrategyOpt

設計定位

這一組策略不是單純「價格碰到布林帶就進場」,而是:

  • 先觀察極值突破
  • 再等待回彈型態成立
  • 之後才進場

也就是它比較像:

  • 布林帶 + ATR 波動條件
  • 型態識別
  • 中線 / 止損 / 反手機制

核心概念

1. 布林帶

策略會使用:

  • MA
  • Upper
  • Lower
  • STD

以及內軌:

  • IN_UPPER
  • IN_LOWER

2. 型態識別

它不是單根觸發,而是追蹤一段局部極值變化。

做空型態

一般概念可理解為:

  • 價格突破上軌
  • 系統持續追蹤近期最高價
  • 若之後不再創高,並回落超過偏移門檻
  • 進場做空

做多型態

相反方向:

  • 跌破下軌
  • 持續追蹤近期最低價
  • 若之後不再創低,並反彈超過偏移門檻
  • 進場做多

3. 止損機制

策略除了基本止損外,還有不少結構性防護:

  • 以過去 k 根高低點建立止損基準
  • 加上偏移量形成真正止損線
  • 可啟用中線止損
  • 可啟用中線停利
  • 可設定止損反手
  • 可設定中線停利反手

4. 通道收縮 / 觀望

部分版本中可透過:

  • enable_channel_squeeze_filter

讓策略在布林通道過窄時選擇觀望。

V1 到 V4 的差異

V1

最基礎版本。

特徵:

  • 具備布林突破 + 回彈進場邏輯
  • 具備基本止損與中線相關控制
  • 指標與狀態在止損後不做強力結構重置

適合:

  • 理解整個策略家族的原始基礎

V2

V2 引入了更強的持倉期中線 / MA 重算觀念。

直觀上可以理解成:

  • 進場後,中線的參考方式更積極貼近持倉狀態

這會讓:

  • 中線止損 / 中線停利的性質改變
  • 持倉中的判斷更貼近進場後的新局面

V3

V3 的關鍵是:

  • 結構性冷卻
  • 止損後不立刻用舊狀態重新交易

常見相關參數:

  • stop_loss_window
  • reset_window_on_stop_loss

你可以把它理解成:

  • 一旦止損,布林窗口會被截斷 / 重建
  • 讓策略必須重新觀察市場,而不是延續舊訊號環境

V4

V4 比 V3 更進一步。

除了窗口重置外,它還更強調:

  • 訊號狀態清空
  • 型態記憶淨化

設計哲學是:

  • 止損之後,不應該沿用「剛剛那波失敗行情」的殘留記憶

所以 V4 通常比 V3 更保守,但抗洗盤能力更強。

Opt

BollingerATRStrategyOpt 不是單純的「第五版」。

它比較像是:

  • 在策略內部再做一層動態優化 / fallback 優化的策略

它和外部 /optimization/tasks 的差別在於:

  • /optimization/tasks 是系統外部枚舉參數
  • BollingerATRStrategyOpt 是策略內部自己做優化邏輯

所以兩者不是同一個概念。

重要參數群

以下是你在理解策略時最值得先掌握的參數群。

布林與窗口

  • init_window
  • min_window
  • max_window
  • window_step
  • std
  • in_std

波動與型態

  • atr_window
  • max_fluctuation
  • min_fluctuation
  • k

進場

  • entry_type
  • calc_timing
  • price_offset_long
  • price_offset_short

止損與停利

  • stop_loss_offset_long
  • stop_loss_offset_short
  • stop_loss_flip
  • enable_middle_stop_loss
  • enable_middle_take_profit
  • middle_take_profit_bars
  • middle_stop_loss_flip
  • middle_take_profit_flip

結構保護

  • stop_loss_window
  • reset_window_on_stop_loss
  • enable_channel_squeeze_filter
  • middle_stop_loss_skip_on_squeeze
  • middle_take_profit_skip_on_squeeze

如何選版本

若你想要基礎版本

  • BollingerATRStrategy

若你想要更貼近持倉內動態中線

  • BollingerATRStrategyV2

若你重視止損後冷卻

  • BollingerATRStrategyV3

若你重視抗洗盤與狀態淨化

  • BollingerATRStrategyV4

若你想研究策略內自適應優化

  • BollingerATRStrategyOpt

前端顯示注意事項

指標對前端暴露時,IndicatorStore 中的鍵名有專門文件:

  • docs/INDICATORS_BOLLINGER_FRONTEND.md

如果你要畫:

  • 當根交易用布林
  • TEMA
  • slope window

請優先對照那份鍵名文件,而不是自行猜測指標欄位。

重構觀點下的建議

如果你的目標是未來重構或重做這套策略系統,最重要的是把它拆成三層:

  1. 指標計算層
  2. 訊號狀態機層
  3. 下單與風控決策層

目前這些邏輯仍大量內聚在單一策略類中。
這對研究很方便,但對長期演化與測試來說,拆層會更好維護。