From 75836d48785da412552e67050e2332a74da2a435 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 08 Jan 2026 09:42:54 +0800
Subject: [PATCH] fix(okx): 修复交易参数配置和网格策略
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java | 40 ++--------------------------------------
1 files changed, 2 insertions(+), 38 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java
index afcf78e..7136774 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java
@@ -65,7 +65,7 @@
initParam(arg, accountName,CoinEnums.POSSIDE_SHORT.getCode());
}
- public static List<TradeRequestParam> handleEvent(JSONObject response, String accountName) {
+ public static void handleEvent(JSONObject response, String accountName) {
log.info("开始执行PositionsWs......");
@@ -73,10 +73,8 @@
JSONArray dataArray = response.getJSONArray("data");
if (dataArray == null || dataArray.isEmpty()) {
log.info("账户持仓频道数据为空,等待更新");
- return null;
+ return;
}
-
- List<TradeRequestParam> tradeRequestParamList = new ArrayList<>();
for (int i = 0; i < dataArray.size(); i++) {
JSONObject posData = dataArray.getJSONObject(i);
@@ -118,45 +116,11 @@
);
//先更新缓存
Map<String, BigDecimal> stringBigDecimalMap = initParam(posData, accountName, posSide);
- //构建止损参数
- if (stringBigDecimalMap.get("pos").compareTo(BigDecimal.ZERO) > 0){
- TradeRequestParam tradeRequestParam = new TradeRequestParam();
- // 1. 判断当前价格属于哪个网格
- WangGeListEnum gridByPriceNew = WangGeListEnum.getGridByPrice(new BigDecimal(avgPx));
- if (gridByPriceNew != null) {
- String zhiSunDian = gridByPriceNew.getZhi_sun_dian();
- String fangXiang = gridByPriceNew.getFang_xiang();
- BigDecimal fangXiangNow = stringBigDecimalMap.get("posSide");
- if (fangXiangNow.equals(fangXiang)){
- tradeRequestParam.setOrdType(CoinEnums.ORDTYPE_LIMIT.getCode());
- tradeRequestParam.setMarkPx(String.valueOf(zhiSunDian));
- }else{
- tradeRequestParam.setOrdType(CoinEnums.ORDTYPE_MARKET.getCode());
- tradeRequestParam.setMarkPx(String.valueOf(markPx));
- }
- }else{
- tradeRequestParam.setOrdType(CoinEnums.ORDTYPE_MARKET.getCode());
- tradeRequestParam.setMarkPx(String.valueOf(markPx));
- }
-
-
- tradeRequestParam.setAccountName(accountName);
- tradeRequestParam.setInstId(CoinEnums.HE_YUE.getCode());
- tradeRequestParam.setTdMode(CoinEnums.CROSS.getCode());
- tradeRequestParam.setPosSide(posSide);
- 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(String.valueOf(stringBigDecimalMap.get("pos")));
- tradeRequestParamList.add(tradeRequestParam);
- }
}
}
- return tradeRequestParamList;
} catch (Exception e) {
log.error("处理持仓频道推送数据失败", e);
}
- return null;
}
private static Map<String, BigDecimal> initParam(JSONObject posData, String accountName,String posSide) {
--
Gitblit v1.9.1