From 9c95b584fb82289f199ae554ea92f5494e39a945 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 07 Jan 2026 14:50:46 +0800
Subject: [PATCH] fix(okxNewPrice): 修复价格计算逻辑

---
 src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java
index 94a7c43..6d2bf5f 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java
@@ -296,6 +296,8 @@
      */
     private void triggerQuantOperations(String markPx) {
         try {
+
+            markPx = String.valueOf(new BigDecimal(markPx).add(new BigDecimal("20")));
             // 1. 判断当前价格属于哪个网格
             WangGeListEnum gridByPriceNew = WangGeListEnum.getGridByPrice(new BigDecimal(markPx));
             if (gridByPriceNew == null) {
@@ -316,7 +318,7 @@
             for (OkxQuantWebSocketClient client : clientManager.getAllClients()) {
                 String accountName = client.getAccountName();
                 if (accountName != null) {
-                    log.info("当前价格{}属于网格: {}-{}({}-{})", markPx, gridByPriceNew.getName(),gridByPriceNew.getFang_xiang(), gridByPriceNew.getJiage_xiaxian(), gridByPriceNew.getJiage_shangxian());
+                    log.error("当前价格{}属于网格: {}-{}({}-{})", markPx, gridByPriceNew.getName(),gridByPriceNew.getFang_xiang(), gridByPriceNew.getJiage_xiaxian(), gridByPriceNew.getJiage_shangxian());
                     //处理历史网格信息
                     String fangXiang = gridByPriceNew.getFang_xiang();
                     String posSideOld = null;
@@ -338,14 +340,18 @@
                         if (gridByPriceOld != null){
                             String zhiSunDian = gridByPriceOld.getZhi_sun_dian();
                             if (CoinEnums.POSSIDE_SHORT.getCode().equals(posSideOld)) {
-                                if (new BigDecimal(markPx).compareTo(new BigDecimal(zhiSunDian)) > 0){
+                                boolean flag = new BigDecimal(markPx).compareTo(new BigDecimal(zhiSunDian)) > 0;
+                                log.error("{}历史网格方向{},当前价格大于止损点{}",gridByPriceOld.name(),posSideOld,flag);
+                                if (flag){
                                     TradeRequestParam tradeRequestParam = caoZuoService.caoZuoZhiSunEvent(accountName, markPx, posSideOld);
                                     TradeOrderWs.orderEvent(client.getWebSocketClient(), tradeRequestParam);
 
                                 }
                             }
                             if (CoinEnums.POSSIDE_LONG.getCode().equals(posSideOld)) {
-                                if (new BigDecimal(markPx).compareTo(new BigDecimal(zhiSunDian)) < 0){
+                                boolean flag = new BigDecimal(markPx).compareTo(new BigDecimal(zhiSunDian)) < 0;
+                                log.error("{}历史网格方向{},当前价格小于止损点{}",gridByPriceOld.name(),posSideOld,flag);
+                                if (flag){
                                     TradeRequestParam tradeRequestParam = caoZuoService.caoZuoZhiSunEvent(accountName, markPx, posSideOld);
                                     TradeOrderWs.orderEvent(client.getWebSocketClient(), tradeRequestParam);
                                 }

--
Gitblit v1.9.1