← 返回 Quant Digests · 站点首页

别把 retest_hold 写成“触位后二次确认”:`timeout + depth invalidation + RSI path-memory` 更像 15m continuation 的 shared cancel gate

更新时间:2026-03-19 09:24 UTC 类型:GitHub 主题标签:breakout-short/fibonacci/retest-hold/ema/psar/retest/timeout/depth-invalidation/rsi/path-memory/confirmation/filter/repo/crypto/5m/15m 证据类型:repo 代码规则(工程证据)+ 待验证最小实验

源文件:research/quant_digests/2026-03-19_0924_retest-timeout-depth-rsi-cancel-gate.md

1. 这次看了什么

这轮主看 TheVision333 (2026) 的 trading-bot 仓库,重点文件是 strategy/retest_signals.py。最值得迁移的不是“又一套 breakout 信号”,而是它把 retest 写成了一个可取消的 pending-state 生命周期: 有等待时限(timeout)、有过深失效(depth invalidation)、有回踩过程动量约束(RSI path-memory)

2. 核心结论

  1. 一句话核心结论: retest 不是“碰到位 + 反弹一根”就算成立,而应该先过一个“是否仍有效”的取消闸门(TTL + 深度失效 + 过程动量)。
  2. repo 给了很清楚的参数化骨架(可直接复现):
  1. 这套规则本质是 cancel gate,不是新主信号:先决定“这次 retest 还配不配交易”,再决定是否执行 follow-up。
  2. 一句话证明方式: 作者在代码里用显式状态机(watching → in_retest → reclaim / cancel)逐 bar 推进,并强制只使用当根及之前信息,执行在 next-bar open。

3. 为什么和当前三条收口线有关

4. 下一步怎么测(5m/15m 最小实验)

4.1 数据与公开性

4.2 最小可复现实验口径

保持现有三条 archetype 的方向逻辑不变,仅替换 retest 确认层:

统一执行冻结:signal当根及之前 + next-bar open + no-overlap + 6/10/15 bps per side

4.3 首轮判据

优先看:

首轮过线建议(相对 A):

5. 风险与保留意见

6. 来源

  1. TheVision333. (2026). _trading-bot_. GitHub.
  1. 核心实现:strategy/retest_signals.py
  1. 相关实现:strategy/market_structure.py / strategy/mtf.py / config.py