TrendLock 40 Plus 出场确认优化研究

TrendLock 40 Plus

Method, assumptions, and evidence chain behind this strategy.

1. 研究目标

2. 策略定义

信号定义

执行语义

风险控制

关键设计决策

exit_confirm_bars 与 min_hold_bars 解决不同问题:

3. 数据与假设

4. 回测设置

参数空间

四组实验,共 42 个配置 × 3 个时间窗口 = 126 次回测:

  1. Exit Confirm(最高优先级):ecb ∈ {1, 2, 3, 5} × mh ∈ {12, 18, 24}
  2. Exit Buffer:buffer ∈ {0.5%, 1.0%, 1.5%, 2.0%} × mh ∈ {12, 18, 24}
  3. Entry Confirm:ecb ∈ {1, 2, 3} × mh ∈ {18, 24}
  4. Symmetric Confirm:cb ∈ {1, 2, 3} × mh ∈ {12, 18, 24}

对照组

TrendLock 40 生产配置:ma_window=240, min_hold_bars=24, 无 exit_confirm

时间窗口

窗口起止用途
2y2024-01-01 ~ 2026-04-30近期表现
3y2023-01-01 ~ 2026-04-30中期稳健性
6y2020-01-01 ~ 2026-04-30长期鲁棒性(含完整牛熊周期)

评价指标

5. 核心结果

主结果表

排名配置2y3y6y6y 回撤6y 交易均值
1ecb=2, mh=1273.94%298.94%2200.24%-39.42%153857.71%
2ecb=2, mh=1874.07%293.79%2141.88%-40.59%147836.58%
3buffer=0.5%, mh=2462.02%275.86%2114.90%-37.52%143817.59%
4ecb=3, mh=1273.13%294.16%2038.69%-40.53%143801.99%
5sym=2, mh=1287.51%311.96%1955.36%-42.97%143784.94%
基线 mh=2469.74%279.34%1852.15%-43.10%163733.74%
entry=3, mh=2468.13%276.23%1727.68%-48.23%690.68%

推荐配置 vs 基线

指标基线 (mh=24)Plus (ecb=2, mh=12)变化
2y 收益69.74%73.94%+4.2pp
3y 收益279.34%298.94%+19.6pp
6y 收益1852.15%2200.24%+348pp
6y 回撤-43.10%-39.42%改善 3.7pp
6y 交易163153减少 10 笔
均值收益733.74%857.71%+16.9%

关键发现

  1. Exit Confirm (ecb=2) 是明确赢家:三窗口全面优于基线,回撤改善,交易更少
  2. Exit Buffer (0.5%) 是次优选择:回撤控制最好(-37.52%),但 2y 表现较弱
  3. Entry Confirm 损害表现:确认研究论文发现——"过强的进场过滤会错过BTC主升浪"
  4. Symmetric Confirm 不如纯 Exit Confirm:入场过滤抵消了出场改善的收益
  5. min_hold 在有 exit_confirm 时可以缩短:ecb=2 已提供防抖保护,mh=12 优于 mh=24

跨窗口一致性(反过拟合)

ecb=2 mh=12 在所有三个窗口都优于基线,不存在"某个窗口好、其他窗口差"的过拟合特征。三窗口改善方向一致:收益提升 + 回撤降低 + 交易减少。

6. 风险与限制

失效场景

统计偏差

备选配置

决策记录

两猫(opus + gpt52)独立评审后达成共识:推荐 ecb=2 mh=12。铲屎官确认(2026-05-04)。

7. 生产语义对齐

研究模型 vs 生产代码

项目研究(sweep)生产(signal.py + pipeline)
入场crossover: prev_close ≤ prev_ma AND close > ma相同
出场min_hold 后连续 ecb 根 close < ma相同
执行next-bar execution(bar N+1 开盘执行)close execution(bar N 收盘价执行)
费率0.001 per side0.001 per side
MA 计算rolling(240).mean()rolling(240).mean()

执行语义差异

研究 sweep 和生产 pipeline 的执行价格模型不同:

这导致绝对收益数字存在差异(6y sweep: 2200.24% vs pipeline: ~2119%),因为 open 和 close 价格不同。

为什么相对比较仍然有效

实现差异

8. 复现路径

脚本

命令

# 运行四组 sweep

python3 sweep_exit_optimization.py

# 运行验证

python3 scripts/validate_trendlock40_plus.py

输出文件

9. 变更记录

2026-05-04: 初始版本。基于四组 sweep 实验,选定 ecb=2 mh=12 作为 TrendLock 40 Plus 默认配置。

Source Links