Administrator
2025-12-15 a8ac553af7ed67e69f1466f8e97f4bfda00ab349
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/TradeOrderWs.java
@@ -31,13 +31,13 @@
//        log.info("开始执行TradeOrderWs......");
        String accountReadyState = AccountWs.ACCOUNTWSMAP.get(CoinEnums.READY_STATE.name());
        if (!CoinEnums.READY_STATE_YES.getCode().equals(accountReadyState)) {
//            log.info("账户通道未就绪,取消发送");
            log.info("账户通道未就绪,取消发送");
            return;
        }
        BigDecimal positionsReadyState = PositionsWs.POSITIONSWSMAP.get(CoinEnums.READY_STATE.name()) == null
                ? BigDecimal.ZERO : PositionsWs.POSITIONSWSMAP.get(CoinEnums.READY_STATE.name());
        if (WsMapBuild.parseBigDecimalSafe(CoinEnums.READY_STATE_YES.getCode()).compareTo(positionsReadyState) != 0) {
//            log.info("仓位通道未就绪,取消发送");
            log.info("仓位通道未就绪,取消发送");
            return;
        }
        // 校验必要参数
@@ -47,23 +47,23 @@
        }
        String buyCnt = "";
        if (OrderParamEnums.HOLDING.getValue().equals(side)){
//            log.info("当前状态为持仓中,取消发送");
            log.info("当前状态为持仓中,取消发送");
            return;
        }else if (OrderParamEnums.OUT.getValue().equals(side)){
//            log.info("当前状态为止损");
            log.info("当前状态为止损");
            side = OrderParamEnums.SELL.getValue();
            buyCnt = String.valueOf(PositionsWs.POSITIONSWSMAP.get("pos"));
        }else if (OrderParamEnums.INIT.getValue().equals(side)){
//            log.info("当前状态为初始化");
            log.info("当前状态为初始化");
            side = OrderParamEnums.BUY.getValue();
            buyCnt = InstrumentsWs.INSTRUMENTSWSMAP.get(CoinEnums.BUY_CNT.name());
        }else if (OrderParamEnums.BUY.getValue().equals(side)){
//            log.info("当前状态为加仓");
            log.info("当前状态为加仓");
            String buyCntTime = TRADEORDERWSMAP.get("buyCntTime");
            String buyCntStr = InstrumentsWs.INSTRUMENTSWSMAP.get(CoinEnums.BUY_CNT.name());
            buyCnt = String.valueOf(new BigDecimal(buyCntTime).multiply(new BigDecimal(buyCntStr)));
        }else if (OrderParamEnums.SELL.getValue().equals(side)){
//            log.info("当前状态为减仓");
            log.info("当前状态为减仓");
            buyCnt = String.valueOf(PositionsWs.POSITIONSWSMAP.get("pos"));
        }else{
            log.warn("交易状态异常,取消发送");
@@ -91,7 +91,7 @@
            String connId = WsParamBuild.getOrderNum(ORDERWS_CHANNEL);
            JSONObject jsonObject = WsParamBuild.buildJsonObject(connId, ORDERWS_CHANNEL, argsArray);
            webSocketClient.send(jsonObject.toJSONString());
//            log.info("发送下单频道:{},数量:{}", side, buyCnt);
            log.info("发送下单频道:{},数量:{}", side, buyCnt);
            WsMapBuild.saveStringToMap(TRADEORDERWSMAP, "buyCntTime",String.valueOf(BigDecimal.ONE));
            WsMapBuild.saveStringToMap(TRADEORDERWSMAP, "clOrdId", clOrdId);