From 9023f09e818a20484f80b50b38d3b7d5c357f18a Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 08 May 2026 23:26:41 +0800
Subject: [PATCH] fix(gateApi): 修复双向持仓模式下的杠杆设置功能

---
 src/main/java/com/xcong/excoin/modules/gateApi/Example.java              |    5 ++---
 src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java |    4 ++--
 src/main/java/com/xcong/excoin/modules/gateApi/gateApi-logic.md          |    2 +-
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/Example.java b/src/main/java/com/xcong/excoin/modules/gateApi/Example.java
index b041e48..30e7bad 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/Example.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/Example.java
@@ -51,16 +51,15 @@
             }
 
             /**
-             * 设置杠杆倍数
+             * 设置杠杆倍数(双向持仓模式专用)
              * 设置合理的杠杆倍数,不能为0
              */
             String leverage = "25";
-            futuresApi.updateContractPositionLeverageCall(
+            futuresApi.updateDualModePositionLeverageCall(
                     settle,
                     contract,
                     leverage,
                     marginMode,
-                    position_mode,
                     null);
         } catch (GateApiException e) {
             System.err.println(String.format("Gate api exception, label: %s, message: %s", e.getErrorLabel(), e.getMessage()));
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 516f50d..9381cec 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -134,9 +134,9 @@
 
             closeExistingPositions();
 
-            futuresApi.updateContractPositionLeverageCall(
+            futuresApi.updateDualModePositionLeverageCall(
                     SETTLE, config.getContract(), config.getLeverage(),
-                    config.getMarginMode(), config.getPositionMode(), null);
+                    config.getMarginMode(), null);
             log.info("[Gate] 杠杆: {}x {}", config.getLeverage(), config.getMarginMode());
         } catch (GateApiException e) {
             log.error("[Gate] 初始化失败, label:{}, msg:{}", e.getErrorLabel(), e.getMessage());
diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/gateApi-logic.md b/src/main/java/com/xcong/excoin/modules/gateApi/gateApi-logic.md
index 1acd8f8..e98d14c 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/gateApi-logic.md
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/gateApi-logic.md
@@ -370,7 +370,7 @@
 | 切持仓模式 | `POST /futures/usdt/set_position_mode` | `FuturesApi.setPositionMode()` | |
 | 查仓位 | `GET /futures/usdt/positions` | `FuturesApi.listPositions()` | 遍历所有仓位,按合约过滤 |
 | 市价平仓 | `POST /futures/usdt/orders` | `FuturesApi.createFuturesOrder()` | reduce_only, IOC。双向: size=0+close=false+autoSize |
-| 设杠杆 | `POST /futures/usdt/positions/{contract}/leverage` | `FuturesApi.updateContractPositionLeverageCall()` | |
+| 设杠杆 | `POST /futures/usdt/dual_comp/positions/{contract}/leverage` | `FuturesApi.updateDualModePositionLeverageCall()` | 双向模式专用 |
 | 查账户 | `GET /futures/usdt/accounts` | `FuturesApi.listFuturesAccounts()` | 获取初始本金和保证金 |
 | 清除条件单 | `DELETE /futures/usdt/price_orders` | `FuturesApi.cancelPriceTriggeredOrderList()` | |
 | 市价单 | `POST /futures/usdt/orders` | `FuturesApi.createFuturesOrder()` | price=0, tif=IOC |

--
Gitblit v1.9.1