From b78e68890f8277d3c3c322cd96f24c3194417667 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 02 Jun 2026 14:01:32 +0800
Subject: [PATCH] refactor(okxNewPrice): 统一WebSocket登录逻辑并优化频道处理器配置
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java | 8 ++++----
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java | 6 +-----
2 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java
index 46b5ac8..b6974ae 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java
@@ -137,11 +137,7 @@
isConnecting.set(false);
if (sharedExecutor != null && !sharedExecutor.isShutdown()) {
resetHeartbeatTimer();
- if (isPublic) {
- subscribeAllHandlers();
- } else {
- wsLogin();
- }
+ wsLogin();
}
}
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java
index 1a1fbd4..316f034 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java
@@ -105,18 +105,18 @@
gridTradeService.init();
// 4. 创建 WS 客户端并注册频道处理器
- // 公共 WS:candle1m(K线数据)
+ // 业务 WS(/v5/business):candle1m + orders-algo(K线 + 条件单)
gridWsClientPublic = new OkxGridWsClient(primaryAccount, true);
gridWsClientPublic.addChannelHandler(new OkxKlineChannelHandler(okxConfig.getInstId(), gridTradeService));
+ gridWsClientPublic.addChannelHandler(new OkxAlgoOrdersChannelHandler(okxConfig.getInstId(), gridTradeService));
gridWsClientPublic.init();
- // 私有 WS:positions + orders-algo(持仓 + 条件单)
+ // 私有 WS(/v5/private):positions(持仓)
gridWsClientPrivate = new OkxGridWsClient(primaryAccount, false);
gridWsClientPrivate.addChannelHandler(new OkxPositionsChannelHandler(okxConfig.getInstId(), gridTradeService));
- gridWsClientPrivate.addChannelHandler(new OkxAlgoOrdersChannelHandler(okxConfig.getInstId(), gridTradeService));
gridWsClientPrivate.init();
- log.info("[OKX-Manager] WS已连接, 公共: candle1m, 私有: positions/orders-algo");
+ log.info("[OKX-Manager] WS已连接, business: candle1m/orders-algo, private: positions");
// 5. 激活策略,等待首根 K 线触发基底双开
gridTradeService.startGrid();
--
Gitblit v1.9.1