From 8b4173d1ad4be984992b0ff7b5f04135bc8440c1 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 29 Dec 2025 16:34:10 +0800
Subject: [PATCH] feat(okxNewPrice): 实现订单成交后自动触发止盈逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java
index 6edf8d1..f91b7c0 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java
@@ -115,7 +115,29 @@
WsMapBuild.saveStringToMap(accountWsMap, CoinEnums.READY_STATE.name(), CoinEnums.READY_STATE_NO.getCode());
log.info("{}: 订单详情已完成: {}, 自定义编号: {}", accountName, CoinEnums.HE_YUE.getCode(), clOrdId);
- return null;
+
+ TradeRequestParam tradeRequestParam = new TradeRequestParam();
+ tradeRequestParam.setAccountName(accountName);
+ BigDecimal zhiYingPx = getZhiYingPx(
+ accountName,
+ posSide,
+ fillFee,
+ WsMapBuild.parseBigDecimalSafe(InstrumentsWs.getAccountMap(accountName).get(CoinEnums.CTVAL.name())),
+ WsMapBuild.parseBigDecimalSafe(accFillSz),
+ WsMapBuild.parseBigDecimalSafe(InstrumentsWs.getAccountMap(accountName).get(CoinEnums.CONTRACTMULTIPLIER.name())),
+ WsMapBuild.parseBigDecimalSafe(avgPx),
+ WsMapBuild.parseBigDecimalSafe(CoinEnums.LEVERAGE.getCode())
+ );
+ tradeRequestParam.setMarkPx(String.valueOf(zhiYingPx));
+ tradeRequestParam.setInstId(CoinEnums.HE_YUE.getCode());
+ tradeRequestParam.setTdMode(CoinEnums.CROSS.getCode());
+ tradeRequestParam.setPosSide(posSide);
+ tradeRequestParam.setOrdType(CoinEnums.ORDTYPE_LIMIT.getCode());
+ tradeRequestParam.setTradeType(OrderParamEnums.TRADE_YES.getValue());
+ tradeRequestParam.setSide(CoinEnums.POSSIDE_LONG.getCode().equals(posSide) ? CoinEnums.SIDE_SELL.getCode() : CoinEnums.SIDE_BUY.getCode());
+ tradeRequestParam.setClOrdId(WsParamBuild.getOrderNum(tradeRequestParam.getSide()));
+ tradeRequestParam.setSz(accFillSz);
+ return tradeRequestParam;
}
return null;
--
Gitblit v1.9.1