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