From 98986bf100201ad41843cbba52d803911c7277f0 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Sat, 09 May 2026 16:25:09 +0800
Subject: [PATCH] fix(gateApi): 修正计划订单类型常量命名
---
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java | 21 +++++++++++++++++----
1 files changed, 17 insertions(+), 4 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 5f83aea..8adb280 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -58,8 +58,8 @@
WAITING_KLINE, OPENING, ACTIVE, STOPPED
}
- private static final String ORDER_TYPE_CLOSE_LONG = "close-long-position";
- private static final String ORDER_TYPE_CLOSE_SHORT = "close-short-position";
+ private static final String ORDER_TYPE_CLOSE_LONG = "plan-close-long-position";
+ private static final String ORDER_TYPE_CLOSE_SHORT = "plan-close-short-position";
private final GateConfig config;
private final GateTradeExecutor executor;
@@ -121,6 +121,12 @@
FuturesAccount account = futuresApi.listFuturesAccounts(SETTLE);
this.initialPrincipal = new BigDecimal(account.getTotal());
log.info("[Gate] 初始本金: {} USDT", initialPrincipal);
+
+ //设置持仓模式为双向持仓
+ Boolean inDualMode = account.getInDualMode();
+ if (!inDualMode) {
+ futuresApi.setDualModeCall(SETTLE,true,null);
+ }
if (!config.getPositionMode().equals(account.getPositionMode())) {
futuresApi.setPositionMode(SETTLE, config.getPositionMode());
@@ -356,10 +362,11 @@
}
}
}
+ log.info("[Gate] 原空队列:{}", shortPriceQueue);
if (matched.isEmpty()) {
+ log.info("[Gate] 空仓队列未触发, 当前价:{}", currentPrice);
return;
}
-
log.info("[Gate] 空仓队列触发, 匹配{}个元素, 当前价:{}", matched.size(), currentPrice);
if (!isMarginSafe()) {
log.warn("[Gate] 保证金超限,跳过空单开仓");
@@ -375,7 +382,9 @@
min = min.multiply(BigDecimal.ONE.subtract(step)).setScale(1, RoundingMode.HALF_UP);
shortPriceQueue.add(min);
}
- shortPriceQueue.sort((a, b) -> b.compareTo(a));
+ shortPriceQueue.sort(BigDecimal::compareTo);
+
+ log.info("[Gate] 现空队列:{}", shortPriceQueue);
}
synchronized (longPriceQueue) {
@@ -398,7 +407,9 @@
}
}
}
+ log.info("[Gate] 原多队列:{}", longPriceQueue);
if (matched.isEmpty()) {
+ log.info("[Gate] 多仓队列未触发, 当前价:{}", currentPrice);
return;
}
@@ -418,6 +429,8 @@
longPriceQueue.add(max);
}
longPriceQueue.sort(BigDecimal::compareTo);
+
+ log.info("[Gate] 现多队列:{}", longPriceQueue);
}
synchronized (shortPriceQueue) {
--
Gitblit v1.9.1