auto_trade_sys/docs/position_analysis_2026-02-28.md
薇薇安 4a5406c7e8 feat(position_manager): Enhance stop-loss logic for short positions and implement automatic SL/TP order synchronization
Updated the stop-loss calculation for short positions to ensure it locks in profits effectively. Added logic to automatically synchronize stop-loss and take-profit orders for positions without existing SL/TP on the exchange. This improves risk management and ensures positions are adequately protected. Enhanced logging for better tracking of stop-loss updates and synchronization events.
2026-02-28 19:01:59 +08:00

100 lines
6.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 持仓分析持仓记录_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 移到 455460 一带),锁住部分利润;否则价格反弹到 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 WIFZEC**完全没有止损**1 BCH有止损但**未随盈利下移锁利**整体止损不对的观感成立
- **7 笔无任何 SL/TP**其中 1 笔已亏 24.5%ICP风险突出
- 策略执行上需**补挂缺失 SL/TP**、**修正做空移动止损方向与条件**、**保证同步/补建仓位也纳入监控并补挂保护单**。