# Bot1 最近 48 小时下单与 DS V4 技术复盘

审计窗口：2026-08-11 03:27:34Z ～ 2026-08-13 03:27:34Z  
对象：bot1 / `VolatilityBreakoutRiskCap` / `5.4.1-d48-riskcap-observe` / 5m / dry-run

## 决策

最近 48 小时的 5 次真实入场提交都至少有一条 DS V4 成功 review；其中 4 笔成交订单的信号 K 线、订单创建和成交状态均为 `agree`，1 笔 ZEC 零成交单的创建事件为 `agree`、等待期间被正确标成 `question/fill`。但 DS V4 是异步 shadow reviewer，不参与下单放行；不能说“每笔单都由 DS 审批后才下”。全事件成功率为 6480/6482（99.97%），且 ZEC 零成交后的最终撤单状态没有被 Auditor 捕获，因此也不能声称生命周期 100% 无漏审。

交易结果明显偏强，但样本很小且全为空头：5 次提交、4 次成交，2 笔新开仓已平实现 +29.34U，2 笔仍开仓截至 03:25Z 的毛浮动合计约 -2.42U。若按窗口内所有平仓计入两笔带入仓，则 4 笔全胜、合计 +39.95U。当前证据不支持改止损、追价、加第三个同向仓或启用 replacement shadow。

## 运行与证据真相

| 项目 | 运行态 / 证据 |
|---|---|
| 容器 | `freqtrade` 运行中，2026-08-10 02:16Z 启动，0 次重启 |
| 策略 | `VolatilityBreakoutRiskCap`，心跳版本 `5.4.1-d48-riskcap-observe` |
| 模式 | 5m、dry-run、数据库 `tradesv3-v5.sqlite` |
| 市场域 | 11 个实际有 K 线的交易对；每对完整 576 根 5m K 线 |
| K 线 | Freqtrade `pair_candles` 的真实 OHLCV、指标与策略列，经 Auditor 事件脱敏导出 |
| 订单 / 成交 / 退出 | 生产 SQLite 只读快照；零成交删除单由 Freqtrade 日志恢复 |
| DS V4 | `deepseek-v4-flash`，schema 1.2，prompt `freqtrade-causal-audit-v3` |
| 已知错标 | Auditor payload 仍写 `5.4-d48-riskcap-forward`，落后于真实线上版本 |

## 最近 48 小时交易表现

| 指标 | 结果 |
|---|---:|
| 入场提交 / 成交 / 零成交撤单 | 5 / 4 / 1 |
| 成交率 | 80.0% |
| 成交延迟 | 中位 8.2s，最大 28.0s |
| 新开后已平 / 仍开放 | 2 / 2 |
| 新开已实现收益 | +29.34U |
| 开放仓毛浮动（03:25Z） | ADA +1.90U、ZEC -4.32U，合计 -2.42U |
| 窗口内全部平仓 | 4 胜 / 0 负，+39.95U |
| 方向 | 5 次提交全部为空头 |

已平的新单中，UNI #51 为 +18.22U / +11.80%，EDGE #52 为 +11.11U / +6.98%；两者均在趋势延续后由已上移的保护止损锁盈。带入窗口的 XRP #47 和 BTC #50 也以正收益退出。没有硬止损亏损样本，不能从这一窗口推导收紧或放宽止损。

唯一零成交单是 08-12 08:50Z 的 ZEC 空单，限价 475.76，10 分钟后撤单。其后 6h 最大有利路径仅 0.33%，最大不利路径 4.17%，6h 方向收益 -2.47%；按当前 2x 口径会先越过等效硬止损阈值。该漏单本轮是避免损失，不支持追价或改主动成交。

## DS V4 覆盖与对账

| 项目 | 数量 |
|---|---:|
| 全部事件 / 成功结果 | 6482 / 6480 |
| K 线事件 / 成功 | 6336 / 6334 |
| 订单生命周期事件 / 成功 | 146 / 146 |
| `agree` | 6325 |
| `question` | 100 |
| `insufficient_evidence` | 55 |
| 无结果 / dead letter | 2 |

`question` 的确定性复核：

- 69 个 `signal_detection` 与 6 个 `risk_gate` 中，可匹配的 74 个事件全部是 `btc_bull_1d=false` 时的 long 核心突破。它们反映冻结参考规则刻意不含 BTC 200DMA，而生产 long 入口包含该条件；不是实现漏单。DS 在 `signal_detection` 与 `risk_gate` 间归类不一致，应该把 BTC 条件显式建模为 gate。
- 24 个 `execution` 主要把移动止损“撤旧换新”的撤单瞬间当成裸奔。确定性订单账本显示 68 次换单的中位间隔 2.1ms、最大 8.5ms；属于事件快照缺少 successor 的假阳性，不是保护单中断。
- 1 个 `fill` 是真实的 ZEC 未成交挂单，判断有效。
- 55 个 `insufficient_evidence` 主要发生在策略信号存在但 gate 状态为 unknown 的 K 线，说明采集归因仍不完整。
- 2 个 dead letter 均为供应商返回空输出文本。

## 风控与漏机会 cohort

`same_side_limit` 有 63 条原始观测，按同 pair/side、15 分钟连续窗口合并为 43 个候选簇。

| cohort | 完整样本 | 末端方向收益均值 / 中位 | 达移动止损激活幅度 | 达等效硬止损 |
|---|---:|---:|---:|---:|
| 被挡候选 6h | 41 | -0.09% / -0.21% | 12.2% | 14.6% |
| 被挡候选 24h | 26 | +1.47% / +0.30% | 38.5% | 42.3% |
| replacement shadow 合格 6h | 3 | -1.44% / -1.84% | 0% | 33.3% |
| replacement shadow 合格 24h | 3 | -1.03% / -2.89% | 33.3% | 66.7% |

6h 结果继续支持限仓；24h 确有部分后续趋势，但硬止损命中率高于移动止损激活率，且会增加同向相关敞口。冻结 replacement shadow 的 3 个合格样本反而显著弱，不应真实换仓。样本不足 10，只作方向判断，但方向与 08-03 两周复核一致。

BTC gate 过滤的 long 参考机会按连续信号合并为 49 个簇：6h 完整 n=46，末端均值 -0.70%、仅 30.4% 为正；24h 完整 n=32，均值仅 +0.16%、中位 +0.14%。短周期证据支持保留 BTC gate，24h 仅属近乎中性，不支持移除它。

## 最早分歧与优化优先级

### P0：先修 Auditor 归因与可观测性，不改交易逻辑

1. 策略版本从运行时心跳/API读取，禁止依赖滞后的静态 `AUDITOR_STRATEGY_VERSION`。
2. 将 stoploss cancel + replacement 在短 grace window 内合并为一个 replace 生命周期，并携带 predecessor/successor ID，消除 24 个假阳性。
3. 零成交交易被 Freqtrade 删除后，仍从日志/SQLite 双源写入 terminal `canceled` 事件；本轮 ZEC 只有创建和等待 review，缺最终撤单 review。
4. 把 `btc_bull_1d` 显式输出为 `gate.status=blocked, reason=btc_200dma_gate`，不要留成 `no_action + not_reached`。
5. 给 `audit_events.candle_close` / `created_at` 建索引；当前 2.2GB 库按时间审计会触发昂贵全表扫描。进一步将重复的 48 根 context bars 去重或压缩。

### P1：生产交易参数维持不变

- 维持被动 `price_side=same`；本轮唯一漏单避免了随后逆向行情。
- 维持同向上限 2；不加第三仓。
- replacement shadow 继续只记录，不晋升。
- 维持 -5% 杠杆口径硬止损与 3%/5% trailing；本轮赢家由现有退出正确锁盈。
- 不按 1～2 笔单币结果删 UNI/EDGE 或追捧其近期表现。

### P2：下一轮单因素验证

`ENTRY-SNAPSHOT-v1`：基线交易逻辑完全不变，唯一变化是给每个已提交入场保存与被挡候选相同的 `ADX / ATR / breakout_atr / BTC gate / regime / occupied_state` 因果快照。累计至少 30 笔已平、且胜负两组均有样本后，才预注册一个“晚期扩张抑制”阈值变体；训练与保留段仍使用当前 5m、fee 0.00035、protections、相同交易对和敞口协议。若交易数低于基线 70%、PF 任一窗口下降或 DD 恶化，直接否决。

执行层的 `60s 后单次 post-only reprice` 只继续做 shadow；在累计至少 20 个零成交机会前不进回测，更不能无条件切主动吃单。

## 单因素假设卡

```text
Hypothesis ID: AUDITOR-STOP-REPLACE-COALESCE-v1
Observed repeated pattern: 24 个 execution question 把保护止损撤旧换新误报为无保护；账本 68 次 successor 间隔中位 2.1ms、最大 8.5ms。
First divergent stage: Auditor 生命周期归因，不是交易执行。
Causal formula and eligible timestamp: 收到 stoploss cancel 后等待固定 500ms；若同 tradeId/purpose/amount 出现 successor，则输出 replace，否则输出 unprotected_cancel。只用该 500ms 截止前已到达事件。
Baseline: 每个 cancel 立即独立送审。
Single changed factor: 增加 500ms stop-replace coalescing window。
Expected benefit: 消除正常换单假阳性，同时保留真正无 successor 的保护缺口告警。
Likely failure mode: 极端 API 延迟超过 500ms 时仍误报；窗口过长会延迟真实裸奔告警。
Validation: 用本窗口 68 次正常换单 + 人工构造无 successor fixture 回放；不改 prompt、schema 其余字段或交易逻辑。
Pass gate: 正常换单 execution question=0；真实无 successor fixture 100% 告警；真实 entry/exit/order 事件数不下降。
Reject gate: 任一真实保护缺口漏报，或入场/退出事件关联退化。
Forward requirement: shadow 运行 7 天，人工对账全部非 agree 后再替换现有 collector 行为。
```

交易侧本轮没有通过证据门槛的新假设：replacement shadow 的 3 个合格簇已方向性失败；post-only reprice 仅 1 个漏单且该漏单避免损失。两者都保持观测，不包装为待晋升策略。

## 分层图与目检

图表：`layered-cases.png`。

`visual_review`：已打开原图并目检。UNI、EDGE 的空头入场都位于真实下破后，随后趋势延续并由移动后的保护止损锁盈；ADA 入场后先延续再回吐、截至窗口仍小幅有利；ZEC #54 入场后快速反弹，仍未触止损。08-12 的 ZEC 零成交挂单位于局部低点附近，撤单后明显上冲，确认不应追价。最佳被挡 UNI 案例随后继续下跌，证明限仓确有机会成本，但 cohort 统计显示这一视觉案例不能外推为放宽风控。图层、时间戳、止损、成交与退出和账本一致；修复了 5m 面板中窗口外退出点造成的横轴拉伸后重新渲染并复检。

## 限制

- 5 次入场尝试、2 笔新开已平不足以证明收益提升；PF 因无亏损分母而不可定义。
- 全部为空头，不能评价多头腿。
- dry-run 不能验证真实 maker 排队、stop-market 滑点与实盘 API 稳定性。
- 24h 路径只覆盖窗口前半段候选，且是未计仓位竞争、费用和组合相关性的后验标签。
