# 持仓分析：持仓记录_2026-02-28T10-43-05.json

## 一、20% 以上盈利的持仓（共 3 个）

| 交易对 | 方向 | 盈亏% | 入场价 | 标记价 | 止损 | 止盈 | 交易所 SL/TP |
|--------|------|-------|--------|--------|------|------|--------------|
| **WIFUSDT** | SELL | **40.3%** | 0.2051 | 0.1863 | **无** | **无** | **无** |
| **ZECUSDT** | SELL | **26.3%** | 221.44 | 207.78 | **无** | **无** | **无** |
| **BCHUSDT** | SELL | **23.7%** | 470.74 | 444.40 | 479.05 | 436.04 | 有 |

### 止损问题诊断

1. **WIF、ZEC：完全没有止损/止盈**
   - 两笔已浮盈 40%、26%，但交易所无任何 SL/TP 挂单，一旦反转会全部回吐甚至变亏。
   - 可能原因：非本系统开仓（手动/别处）、或开仓时未成功挂出 SL/TP、或同步/补建时未补挂。
   - **建议**：尽快在交易所或通过系统对这两笔**至少挂上保本/锁利止损**（例如锁住一半利润或 5%～10% 利润）。

2. **BCH：有 SL/TP，但止损未上移锁利**
   - 空头：入场 470.74，当前 444.40，止损仍在 **479.05**（开仓时的初始止损，高于入场价）。
   - 正确做法：盈利 23.7% 后，**做空的移动止损应下移**（例如从 479 移到 455～460 一带），锁住部分利润；否则价格反弹到 479 才触发，会几乎回吐全部盈利。
   - 可能原因：
     - 该持仓不在本系统 `active_positions` 内（例如由同步/补建得到），未参与定时检查的移动止损逻辑；
     - 或做空方向的移动止损更新条件/方向在代码中有误（见下文「策略执行」）。

---

## 二、全部 13 笔持仓汇总

| 交易对 | 方向 | 盈亏% | 止损 | 止盈 | 交易所有 SL/TP |
|--------|------|-------|------|------|----------------|
| WIFUSDT | SELL | 40.3 | 无 | 无 | 无 |
| ZECUSDT | SELL | 26.3 | 无 | 无 | 无 |
| BCHUSDT | SELL | 23.7 | 479.05 | 436.04 | 有 |
| VVVUSDT | BUY | 15.1 | 无 | 无 | 无 |
| PUMPUSDT | SELL | 7.8 | 0.001813 | 0.001651 | 有 |
| ZROUSDT | SELL | 4.7 | 1.5763 | 1.4348 | 有 |
| SAHARAUSDT | BUY | 2.5 | 0.01829 | 0.02356 | 有 |
| ASTERUSDT | SELL | -0.0 | 0.7152 | 0.651 | 有 |
| MYXUSDT | SELL | -0.5 | 无 | 无 | 无 |
| FARTCOINUSDT | SELL | -0.8 | 无 | 无 | 无 |
| HYPEUSDT | SELL | -3.8 | 无 | 无 | 无 |
| VIRTUALUSDT | BUY | -9.5 | 无 | 无 | 无 |
| **ICPUSDT** | **BUY** | **-24.5** | **无** | **无** | **无** |

- **无任何止损/止盈的共 7 笔**：VIRTUAL, ZEC, HYPE, FARTCOIN, VVV, ICP, WIF, MYX。其中 **ICP 已亏 24.5%**，若无止损会继续放大亏损。

---

## 三、策略执行问题分析

### 1. 为何大量持仓「无止损/无止盈」？

- 若这些仓位是**本系统开仓**：开仓后应调用 `_ensure_exchange_sltp_orders` 在交易所挂 SL/TP；若仍无挂单，可能是：
  - 开仓流程中未成功挂单（网络/权限/参数错误）且未重试或告警；
  - 或仓位来自**同步/补建**（币安有仓、DB 无记录），补建时若未同时挂 SL/TP，就会一直处于「无保护」状态。
- **建议**：
  - 对「有持仓但无 SL/TP」的 symbol，在同步/健康检查中**自动补挂**（至少止损，止盈可按配置或保守价）；
  - 开仓后若挂单失败，要有重试与日志/告警，便于排查。

### 2. 做空（SELL）移动止损方向是否正确？

- 做空盈利时，应**下移止损价**（从高位往当前价方向移）才能锁利；当前 BCH 空头止损仍在 479，未下移。
- 代码中做空分支（`position_manager` 定时检查）有：
  - `new_stop_loss = entry_price + (pnl_amount - protect_amount) / quantity`
  - `new_stop_loss = min(new_stop_loss, breakeven)`，再判断 `new_stop_loss > current_sl` 才更新。
- 做空时 `pnl_amount = (entry - current)*q > 0`，`entry + (pnl - protect)/q` 可能**大于**初始止损 479，导致条件 `new_stop_loss > current_sl` 不成立，从而从不更新；即便更新，也是把止损往**更上方**移（更宽松），而不是往下锁利。这与「盈利后锁利」的目标相反。
- **建议**：复查做空移动止损公式与更新条件，确保「盈利后新止损比当前止损更靠近当前价」（空头即新止损 < 当前止损），并只在「锁利方向」上更新。

### 3. 亏损单 ICP -24.5% 且无止损

- 单笔已亏 24.5%，若无止损会继续暴露风险。
- **建议**：立即对该仓设止损（或减仓/平仓）；并检查为何该仓从未挂上止损（是否补建、是否开仓失败挂单等）。

### 4. 多账号/多数据源一致性

- 持仓记录中 `id`、`entry_time`、`created_at` 多为 null，说明可能来自**交易所快照 + 部分本地合并**，而非全部来自本系统 DB。要确保：
  - 凡在交易所存在的仓位，只要被本系统「认领」或展示，就应纳入监控并在缺失时补挂 SL/TP；
  - 移动止损/滞涨早止盈等逻辑应对**所有被监控仓位**生效，包括同步/补建进来的。

---

## 四、建议汇总

| 优先级 | 建议 |
|--------|------|
| **P0** | **WIF、ZEC**：立即在交易所或通过系统挂上止损（至少保本或锁 5%～10% 利润），避免 40%/26% 盈利回吐。 |
| **P0** | **ICP**：已亏 24.5% 且无止损，立即设止损或减仓/平仓，并排查为何无 SL。 |
| **P1** | **BCH**：检查该仓是否在 `active_positions`、是否参与移动止损；若在，复查做空移动止损公式与更新条件，确保盈利后下移止损锁利。 |
| **P1** | 对所有「有仓但无 SL/TP」的持仓（含同步/补建）在同步或健康检查中**自动补挂止损**（止盈可选）。 |
| **P2** | 开仓后 SL/TP 挂单失败时增加重试与告警；移动止损（尤其做空）逻辑做代码审查与单测。 |
| **P2** | 滞涨早止盈：若已开启，确认对 20%+ 盈利的仓位在「长时间不创新高」时能触发分批减仓+抬止损。 |

---

## 五、小结

- **3 笔 20%+ 盈利**：2 笔（WIF、ZEC）**完全没有止损**，1 笔（BCH）有止损但**未随盈利下移锁利**，整体「止损不对」的观感成立。
- **7 笔无任何 SL/TP**，其中 1 笔已亏 24.5%（ICP），风险突出。
- 策略执行上需：**补挂缺失 SL/TP**、**修正做空移动止损方向与条件**、**保证同步/补建仓位也纳入监控并补挂保护单**。
