From afc858458cbdde1d5f3f2cfce6d056656bf75c16 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 13 May 2026 21:39:39 +0800
Subject: [PATCH] refactor(okxNewPrice): 账户配置
---
src/main/java/com/xcong/excoin/modules/okxApi/OkxWebSocketClientManager.java | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxApi/OkxWebSocketClientManager.java b/src/main/java/com/xcong/excoin/modules/okxApi/OkxWebSocketClientManager.java
index 510fb0c..6dc10ac 100644
--- a/src/main/java/com/xcong/excoin/modules/okxApi/OkxWebSocketClientManager.java
+++ b/src/main/java/com/xcong/excoin/modules/okxApi/OkxWebSocketClientManager.java
@@ -104,6 +104,10 @@
config.getPassphrase(),
!config.isProduction());
+ log.info("[管理器] 清理原有持仓和委托...");
+ restClient.cancelAllOrders(config.getContract());
+ restClient.closeAllPositions(config.getContract(), config.getMarginMode());
+
boolean posModeOk = restClient.setPositionMode(config.getPosMode());
if (!posModeOk) {
log.error("[管理器] 设置持仓方式失败,策略可能无法正常运作");
@@ -115,8 +119,15 @@
log.error("[管理器] 设置杠杆倍数失败,策略可能无法正常运作");
}
- log.info("[管理器] 账户配置完成, posMode:{}, leverage:{}, marginMode:{}",
- config.getPosMode(), config.getLeverage(), config.getMarginMode());
+ Long instIdCode = restClient.fetchInstIdCode("SWAP", config.getContract());
+ if (instIdCode != null) {
+ config.setInstIdCode(instIdCode);
+ } else {
+ log.error("[管理器] 获取instIdCode失败,WS下单将无法正常工作");
+ }
+
+ log.info("[管理器] 账户配置完成, posMode:{}, leverage:{}, marginMode:{}, instIdCode:{}",
+ config.getPosMode(), config.getLeverage(), config.getMarginMode(), config.getInstIdCode());
}
public OkxKlineWebSocketClient getKlineWebSocketClient() { return wsKlineClient; }
--
Gitblit v1.9.1