Skip to content

fix: 1303 止損未觸發 — positions 缺少 high_water_mark 和 entry_trading_day #485

@cct08311github

Description

@cct08311github

問題描述

1303 持倉虧損 -6.5%(買入 80.0 → 現價 74.8),MA5 < MA20 死亡交叉已形成,但 Trailing Stop 未觸發。

檢查 positions 表發現:

  • high_water_mark = 空值
  • entry_trading_day = 空值

這兩個欄位為空導致 Trailing Stop 和時間止損邏輯無法正常運作。

修復方案

  1. 立即:修正 positions 表中 1303 的 high_water_mark(應為入場以來最高價)和 entry_trading_day(應為 2026-03-19)
  2. 根因:追查 ticker_watcher.pytrading_engine.py 中建立持倉時為何未填入這兩個欄位
  3. 增強(Version 2):加入時間止損——持有 >5 個交易日且 unrealized_pnl < -5% 時觸發止損審查

新增參數(Version 2)

time_stop_days = 5
time_stop_loss_threshold_pct = -5.0
rsi_accelerated_stop_threshold = 45

驗證

  • positions 表 high_water_mark 和 entry_trading_day 正確填入
  • 新建倉時自動設定這兩個欄位
  • 1303 在下一個交易日正確觸發止損審查

來源:每日策略審核 2026-03-27

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions