Files
beast-trader-strategies/docs/stop_loss_analysis_report.md

7.2 KiB
Raw Blame History

v1.6 止损交易深度分析报告

分析时间2026-06-08 | 数据ETH/USDT 2022-01-01 ~ 2025-08-17 全周期回测 总交易 152 笔,其中 stop_loss 退出 73 笔(全部亏损,胜率 0%


一、核心发现

发现 150.7% 的止损交易在入场时 H4 趋势方向就不对!

这是最震撼的发现。73 笔止损交易中,有 37 笔50.7%)在入场时 H4 级别趋势方向与交易方向不一致:

方向 H4趋势不一致 典型场景
LONG 止损 16/37 (43%) D1看涨但4H正在下跌——在下跌中的回调做多
SHORT 止损 21/36 (58%) D1看跌但4H正在上涨——在上涨中的反弹做空

这意味着: 策略的入场逻辑有结构性缺陷。当前入场条件只检查 D1 趋势方向,但没有要求 H4 趋势与交易方向一致

案例说明

#2: 2022-04-07 LONG
  D1趋势=UP ✓  → "大方向对"
  H4趋势=DOWN ✗ → "但4H正在跌"
  结果:支撑被击穿,-1.6%

#48: 2024-05-27 SHORT  
  D1趋势=UP ✗  → "D1就不对"
  H4趋势=UP ✗  → "4H也在涨"
  结果3小时止损-1.0%

发现 226 笔35.6%)止损是因为支撑/阻力被直接击穿

  • LONG: 13 笔价格跌破支撑PRICE_BROKE_SUPPORT
  • SHORT: 13 笔价格突破阻力PRICE_BROKE_RESISTANCE

这些交易的特点是:入场时一切条件满足,但随后价格直接穿过 S/R 位。这是"真结构被否定"的情况——市场决定这个 S/R 不再有效。

发现 315 笔20.5%)止损是因为 S/R 位被新的 Swing Point 推着走

  • 支撑被新的 Swing Low 向下推移LONG 做多 → 止损位下移 → 更大的亏损空间)
  • 阻力被新的 Swing High 向上推移SHORT 做空 → 止损位上移 → 更大的亏损空间)

典型如 #13 (2022-09-19):支撑位在交易期间下移了 4.6%,说明市场在持续创新低。

发现 4"活支撑/阻力"过滤器漏了 4 笔死支撑

v1.6 的 support_alive 过滤器只捕捉到最近 3 根 4H bar 内的测试,但仍漏了 4 笔5.5%)。这些支撑在入场时就没被验证过。

发现 5快止损 vs 慢流血 — 两种不同的失败模式

类型 数量 平均亏损 特征
快止损 (<6h) 11笔 -1.14% 入场即错,价格立即反向
慢流血 (>72h) 19笔 -2.21% 价格先小幅有利,然后趋势反转

快止损大部分是 H4 趋势不一致导致(如 #48、#52。慢流血则更复杂——有的是 S/R 位被慢慢侵蚀,有的是趋势反转。


二、分类统计

按根因分类

根因 数量 占比 可修复性
H4趋势不一致 37 50.7% 高 — 加入 H4 趋势过滤器
价格直接击穿S/R 26 35.6% ⚠️ 中 — 需要更强的S/R确认
S/R位移 15 20.5% ⚠️ 中 — 部分可提前识别
不在正确区域 12 16.4% 高 — 收紧区域判断
死支撑/阻力 4 5.5% 已过滤v1.6已解决大部分)
不明原因 8 11.0% 🔬 需要逐笔人工审查

注:一笔交易可能有多重根因,总和超过 100%。

按年度分布

年份 止损数 总亏损 平均亏损 市场环境
2022 21 -$4,516 -2.56% 熊市
2023 20 -$5,030 -1.58% 恢复期
2024 18 -$21,772 -2.16% 牛市
2025 14 -$36,062 -2.14% 震荡市

2025 年止损亏损金额最大,因为本金滚大了(复利效应),但平均亏损%与其他年份相当。


三、可修复性评估

高优先级(大概率能修复)

1. 加入 H4 趋势一致性过滤器

这是最大的单一改进机会。当前逻辑:

# 当前:只检查 D1 趋势
long_base = trend_up_1d & in_demand_4h & bullish_signal

# 改进:同时要求 H4 趋势一致
long_base = trend_up_1d & trend_up_4h & in_demand_4h & bullish_signal

预期效果: 可能过滤掉 37 笔中的大部分(但需要评估是否会误杀盈利交易)。

2. 收紧区域判断

当前 in_demand = 价格在支撑-阻力区间的下 35%。12 笔止损交易不在正确区域就入场了。可以:

  • 收紧到 25% 或 20%
  • 或要求价格更接近支撑/阻力位

⚠️ 中优先级(部分可修复)

3. 强化 S/R 确认

26 笔"价格击穿 S/R"中,有些可能是支撑/阻力本身质量不高。可以:

  • 要求 Swing Point 被测试 ≥2 次才有效
  • 要求 S/R 位形成时间 > N 根 bar避免新形成的、未被验证的
  • 考虑 S/R 位的"级别"——日线 Swing Point 比 4H Swing Point 更重要

4. S/R 位移预警

15 笔 S/R 位移中,如果在交易期间检测到"S/R 位正在移动"(新 Swing Point 形成),可以提前退出而非等到止损触发。

🔬 需要进一步研究

5. "不明原因"的 8 笔

这 8 笔交易(#5, #16, #19, #29, #36, #44, #66, #69看起来一切条件都对——H4 趋势对、D1 趋势对、在正确区域、支撑有效——但还是止损了。需要逐笔查看当时的 K 线图来理解。这可能是策略的"固有成本"。


四、UNFAIR 问题(结构性缺陷)

问题 1D1 和 H4 的脱节

当前策略的核心假设是"D1 定方向4H 找位置",但实际执行中:

  • D1 趋势变化很慢(几天到几周)
  • H4 趋势变化很快(几小时到几天)
  • 在 D1 上涨但 H4 下跌的窗口期(回调),策略会做多 → 然后被 H4 下跌趋势吞噬

本质: D1 趋势对 1H 入场来说太"远"了,中间的 4H 趋势才是 1H 入场最近的上层结构。

问题 2S/R 识别只看最近 4 个 Swing Point

_build_structure 只保留最近 4 个 Swing High/Low 来判断趋势。这可能导致:

  • 在更大时间框架的结构位(比如日线级别的关键支撑)被忽略
  • 趋势判断过于短视

问题 3custom_stoploss 的动态更新是一把双刃剑

当新的 Swing Low 形成时,support_4h 会更新为新低点,止损位下移 → 持仓承受更大的浮亏。这就是 S/R 位移的根源。


五、改进路线图

阶段 1H4 趋势过滤器(预计影响最大)

v1.6.3: 加入 H4 趋势一致性要求
  - LONG: D1趋势=UP AND H4趋势=UP
  - SHORT: D1趋势=DOWN AND H4趋势=DOWN
  - 回测验证:是否会误杀太多盈利交易?

阶段 2S/R 质量提升

v1.6.4: 增强 S/R 确认
  - 要求 Swing Point 至少被回测 1 次
  - 要求 S/R 形成时间 ≥ 2 根 4H bar
  - 优先使用 D1 级别的 Swing Point如果存在

阶段 3动态退出优化

v1.6.5: S/R 位移时的提前退出
  - 当新 Swing Point 形成且方向不利时 → 提前 exit
  - 而非等待价格触及已移动的止损位

六、数据文件

文件 说明
bt_v16_stop_losses.csv 73 笔止损交易的基础数据
bt_v16_stop_loss_analysis.csv 含结构快照和分类的完整分析数据

这份报告是接下来所有止损优化的基础。每个改进方向都可以独立验证、独立回测。