Administrator
4 days ago ee10b32d23923ada3b3758446b78c45c212db4b0
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).subtract(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);
                                }
@@ -428,9 +434,7 @@
    private void sendPing() {
        try {
            if (webSocketClient != null && webSocketClient.isOpen()) {
                JSONObject ping = new JSONObject();
                ping.put("op", "ping");
                webSocketClient.send(ping.toJSONString());
                webSocketClient.send("ping");
                log.debug("发送ping请求");
            }
        } catch (Exception e) {