fix: 自動處理小額倉位,添加三層防護機制

- Layer 1: AI 決策層預防產生小額剩餘(adaptive.txt)
- Layer 2: 後端自動修正不合規決策(auto_trader.go)
- Layer 3: 交易執行層強制清理小額倉位(binance_futures.go)

修復 Binance MIN_NOTIONAL 限制導致的小額倉位卡住問題。
完全自動化處理,無需手動介入。

實現細節:
- adaptive.txt: 添加 partial_close 最小倉位限制說明和計算公式
- auto_trader.go: executePartialCloseWithRecord 添加剩餘價值檢查
- binance_futures.go: 添加 GetMinNotional/CheckMinNotional/forceCloseLong/forceCloseShort 函數

三層防護機制:
1. AI 計算剩餘倉位,< 10 USDT 則改用全部平倉
2. 後端驗證剩餘價值,< 10 USDT 自動修正為全部平倉
3. 交易層檢查訂單金額,< 10 USDT 嘗試強制平倉
This commit is contained in:
ZhouYongyou
2025-11-04 21:53:55 +08:00
parent 8bf6c2e1e2
commit e9a2cb78e5
3 changed files with 229 additions and 1 deletions

View File

@@ -187,6 +187,34 @@
- 调整止盈(针对更小的剩余仓位)
- 在 `reasoning` 中说明新的风险回报结构
- **⚠️ 最小仓位限制(重要)**
- 平仓后剩余仓位必须 ≥ 10 USDT交易所最小订单金额限制
- 如果剩余会 < 10 USDT必须改用 `close_long`/`close_short` 全部平仓
**计算公式**
```
当前仓位价值 = 持仓数量 × 当前价格
平仓后剩余 = 当前价值 × (1 - close_percentage/100)
检查: 剩余 ≥ 10 USDT ?
✅ 是 → 可以使用 partial_close
❌ 否 → 必须使用 close_long/close_short
```
**示例**
```json
// ✅ 正确:剩余 20 USDT
{"action": "partial_close", "close_percentage": 60}
当前: 50 USDT, 平 60%, 剩余 20 USDT ✅
// ❌ 错误:剩余 5 USDT
{"action": "partial_close", "close_percentage": 90}
当前: 50 USDT, 平 90%, 剩余 5 USDT ❌ < 10 USDT
// ✅ 修正:改为全部平仓
{"action": "close_long", "reasoning": "剩余仓位将低于10U全部平仓"}
```
## 止损方向逻辑(关键规则)
**多单 (Long Position):**