From e4cae0f215941da2059a8f37cd8d1a192f7a60cd Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 08 Jun 2026 11:17:42 +0800
Subject: [PATCH] ``` chore(gateApi): 注释掉持仓归零时的重置策略逻辑
---
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
index b1c496b..2c445b3 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -461,8 +461,8 @@
}
} else {
if (longActive && state == StrategyState.ACTIVE) {
- log.info("[Gate] 多仓持仓归零,重置策略");
- handlePositionZeroAndReset("多仓");
+// log.info("[Gate] 多仓持仓归零,重置策略");
+// handlePositionZeroAndReset("多仓");
}
longActive = false;
longPositionSize = BigDecimal.ZERO;
@@ -484,8 +484,8 @@
}
} else {
if (shortActive && state == StrategyState.ACTIVE) {
- log.info("[Gate] 空仓持仓归零,重置策略");
- handlePositionZeroAndReset("空仓");
+// log.info("[Gate] 空仓持仓归零,重置策略");
+// handlePositionZeroAndReset("空仓");
}
shortActive = false;
shortPositionSize = BigDecimal.ZERO;
@@ -1598,14 +1598,15 @@
BigDecimal totalEquity = unrealisedPnl.add(available);
// 估算平仓手续费:(多仓张数+空仓张数) × 合约面值 × 当前价 × taker费率
- BigDecimal closeContractValue = longPositionSize.add(shortPositionSize)
- .multiply(CT_VAL).multiply(lastKlinePrice != null ? lastKlinePrice : BigDecimal.ZERO);
+ BigDecimal totalSize = longPositionSize.abs().add(shortPositionSize.abs());
+ BigDecimal closeContractValue =
+ totalSize.multiply(CT_VAL).multiply(lastKlinePrice != null ? lastKlinePrice : BigDecimal.ZERO);
BigDecimal estimatedFee = closeContractValue.multiply(TAKER_FEE_RATE);
BigDecimal netEquity = totalEquity.subtract(estimatedFee);
BigDecimal target = initialPrincipal.add(config.getExpectedProfit());
- log.info("[Gate] 盈亏检查 upl:{}, avail:{}, 合计:{}, 估手续费:{}, 净权益:{}, 目标:{}",
- unrealisedPnl, available, totalEquity, estimatedFee, netEquity, target);
+ log.info("[Gate] 盈亏检查,总张数:{}, upl:{}, avail:{}, 合计:{}, 估手续费:{}, 净权益:{}, 目标:{}",
+ totalSize,unrealisedPnl, available, totalEquity, estimatedFee, netEquity, target);
if (netEquity.compareTo(target) > 0) {
log.info("[Gate] 盈亏达标(净权益{}>目标{}),重置策略", netEquity, target);
state = StrategyState.STOPPED;
--
Gitblit v1.9.1