From 1b55621d4dcf3b4ee6b9c4beb81ad69e5b7a5856 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 05 Jun 2026 17:58:08 +0800
Subject: [PATCH] refactor(okxNewPrice): 优化止损管理器的挂单数量计算逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 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 1a1fbd4..95a7096 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxWebSocketClientManager.java
@@ -1,7 +1,7 @@
package com.xcong.excoin.modules.okxNewPrice;
-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;
@@ -85,16 +85,16 @@
.apiKey(primaryAccount.getApiKey())
.secretKey(primaryAccount.getSecretKey())
.passphrase(primaryAccount.getPassphrase())
- .instId("BTC-USDT-SWAP")
+ .instId("ETH-USDT-SWAP")
.leverage("100")
.tdMode("cross")
- .gridRate(new BigDecimal("0.0025"))
- .expectedProfit(new BigDecimal("2"))
- .maxLoss(new BigDecimal("15"))
- .quantity("1")
- .baseQuantity("10")
+ .gridRate(new BigDecimal("0.002"))
+ .expectedProfit(new BigDecimal("180"))
+ .maxLoss(new BigDecimal("30"))
+ .quantity("5")
+ .baseQuantity("50")
.priceScale(2)
- .ctVal(new BigDecimal("0.1"))
+ .ctVal(new BigDecimal("0.01"))
.isSimulate(!primaryAccount.isAccountType())
.gridQueueSize(300)
.marginRatioLimit(new BigDecimal("0.2"))
@@ -105,18 +105,18 @@
gridTradeService.init();
// 4. 创建 WS 客户端并注册频道处理器
- // 公共 WS:candle1m(K线数据)
+ // 业务 WS(/v5/business):candle1m
gridWsClientPublic = new OkxGridWsClient(primaryAccount, true);
gridWsClientPublic.addChannelHandler(new OkxKlineChannelHandler(okxConfig.getInstId(), gridTradeService));
gridWsClientPublic.init();
- // 私有 WS:positions + orders-algo(持仓 + 条件单)
+ // 私有 WS(/v5/private):positions + orders(algo触发后订单fill带algoId可匹配)
gridWsClientPrivate = new OkxGridWsClient(primaryAccount, false);
gridWsClientPrivate.addChannelHandler(new OkxPositionsChannelHandler(okxConfig.getInstId(), gridTradeService));
- gridWsClientPrivate.addChannelHandler(new OkxAlgoOrdersChannelHandler(okxConfig.getInstId(), gridTradeService));
+ gridWsClientPrivate.addChannelHandler(new OkxOrdersChannelHandler(okxConfig.getInstId(), gridTradeService));
gridWsClientPrivate.init();
- log.info("[OKX-Manager] WS已连接, 公共: candle1m, 私有: positions/orders-algo");
+ log.info("[OKX-Manager] WS已连接, business: candle1m, private: positions/orders");
// 5. 激活策略,等待首根 K 线触发基底双开
gridTradeService.startGrid();
--
Gitblit v1.9.1