From 3c86df8d1170406ca3ca036d1337e8654ab5d41a Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 05 Jun 2026 12:47:58 +0800
Subject: [PATCH] fix(okxNewPrice): 解决网格交易价格精度计算问题

---
 src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

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 316f034..845f43d 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java
@@ -2,6 +2,7 @@
 
 import com.xcong.excoin.modules.okxNewPrice.gridWs.OkxAlgoOrdersChannelHandler;
 import com.xcong.excoin.modules.okxNewPrice.gridWs.OkxKlineChannelHandler;
+import com.xcong.excoin.modules.okxNewPrice.gridWs.OkxOrdersChannelHandler;
 import com.xcong.excoin.modules.okxNewPrice.gridWs.OkxPositionsChannelHandler;
 import com.xcong.excoin.modules.okxNewPrice.okxpi.config.OKXAccount;
 import com.xcong.excoin.modules.okxNewPrice.okxpi.config.enums.DefaultUrls;
@@ -88,13 +89,13 @@
                     .instId("BTC-USDT-SWAP")
                     .leverage("100")
                     .tdMode("cross")
-                    .gridRate(new BigDecimal("0.0025"))
-                    .expectedProfit(new BigDecimal("2"))
-                    .maxLoss(new BigDecimal("15"))
+                    .gridRate(new BigDecimal("0.001"))
+                    .expectedProfit(new BigDecimal("200"))
+                    .maxLoss(new BigDecimal("30"))
                     .quantity("1")
                     .baseQuantity("10")
                     .priceScale(2)
-                    .ctVal(new BigDecimal("0.1"))
+                    .ctVal(new BigDecimal("0.01"))
                     .isSimulate(!primaryAccount.isAccountType())
                     .gridQueueSize(300)
                     .marginRatioLimit(new BigDecimal("0.2"))
@@ -105,18 +106,18 @@
             gridTradeService.init();
 
             // 4. 创建 WS 客户端并注册频道处理器
-            // 业务 WS(/v5/business):candle1m + orders-algo(K线 + 条件单)
+            // 业务 WS(/v5/business):candle1m
             gridWsClientPublic = new OkxGridWsClient(primaryAccount, true);
             gridWsClientPublic.addChannelHandler(new OkxKlineChannelHandler(okxConfig.getInstId(), gridTradeService));
-            gridWsClientPublic.addChannelHandler(new OkxAlgoOrdersChannelHandler(okxConfig.getInstId(), gridTradeService));
             gridWsClientPublic.init();
 
-            // 私有 WS(/v5/private):positions(持仓)
+            // 私有 WS(/v5/private):positions + orders(algo触发后订单fill带algoId可匹配)
             gridWsClientPrivate = new OkxGridWsClient(primaryAccount, false);
             gridWsClientPrivate.addChannelHandler(new OkxPositionsChannelHandler(okxConfig.getInstId(), gridTradeService));
+            gridWsClientPrivate.addChannelHandler(new OkxOrdersChannelHandler(okxConfig.getInstId(), gridTradeService));
             gridWsClientPrivate.init();
 
-            log.info("[OKX-Manager] WS已连接, business: candle1m/orders-algo, private: positions");
+            log.info("[OKX-Manager] WS已连接, business: candle1m, private: positions/orders");
 
             // 5. 激活策略,等待首根 K 线触发基底双开
             gridTradeService.startGrid();

--
Gitblit v1.9.1