From ef00aeb456a54c7a98b71617fb7e46e56d02aa78 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 29 Dec 2025 10:07:58 +0800
Subject: [PATCH] refactor(okxNewPrice): 重构止损订单处理逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxKlineWebSocketClient.java | 14 ++++++--------
1 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxKlineWebSocketClient.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxKlineWebSocketClient.java
index 62cbf7d..c089ac6 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxKlineWebSocketClient.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxKlineWebSocketClient.java
@@ -358,25 +358,23 @@
if (accountName != null) {
// 根据信号执行交易操作
TradeRequestParam tradeRequestParam = new TradeRequestParam();
+
String posSide = tradingOrder.getPosSide();
- String side = tradingOrder.getSide();
tradeRequestParam.setPosSide(posSide);
- tradeRequestParam.setSide(side);
String currentPrice = String.valueOf(closePx);
tradeRequestParam = caoZuoService.caoZuoStrategy(accountName, currentPrice, posSide);
+
+ String side = tradingOrder.getSide();
+ tradeRequestParam.setSide(side);
+
String clOrdId = WsParamBuild.getOrderNum(side);
tradeRequestParam.setClOrdId(clOrdId);
+
String sz = null;
if (posSide == CoinEnums.POSSIDE_LONG.getCode() && side == CoinEnums.SIDE_BUY.getCode()){
sz = InstrumentsWs.getAccountMap(accountName).get(CoinEnums.BUY_CNT_INIT.name());
tradeRequestParam.setSz(sz);
TradeOrderWs.orderEvent(client.getWebSocketClient(), tradeRequestParam);
-
- BigDecimal pos = PositionsWs.getAccountMap(PositionsWs.initAccountName(accountName, CoinEnums.POSSIDE_SHORT.getCode())).get("pos");
- if (BigDecimal.ZERO.compareTo( pos) >= 0) {
- TradeRequestParam tradeRequestParamOld = caoZuoService.caoZuoZhiSunEvent(accountName, String.valueOf(closePx), CoinEnums.POSSIDE_SHORT.getCode());
- TradeOrderWs.orderEvent(client.getWebSocketClient(), tradeRequestParamOld);
- }
}else if (posSide == CoinEnums.POSSIDE_SHORT.getCode() && side == CoinEnums.SIDE_SELL.getCode()){
sz = InstrumentsWs.getAccountMap(accountName).get(CoinEnums.BUY_CNT_INIT.name());
tradeRequestParam.setSz(sz);
--
Gitblit v1.9.1