Administrator
2026-06-05 1b55621d4dcf3b4ee6b9c4beb81ad69e5b7a5856
src/main/java/com/xcong/excoin/modules/okxNewPrice/gridWs/OkxPositionsChannelHandler.java
@@ -45,6 +45,14 @@
    }
    @Override
    public void onSubscribed() {
        log.info("[OKX-WS] {} 订阅确认", CHANNEL_NAME);
        if (gridTradeService != null) {
            gridTradeService.onSubscriptionConfirmed(CHANNEL_NAME);
        }
    }
    @Override
    public void unsubscribe(WebSocketClient ws) {
        JSONObject msg = new JSONObject();
        JSONObject arg = new JSONObject();
@@ -69,11 +77,16 @@
            if (data == null || data.isEmpty()) return true;
            for (int i = 0; i < data.size(); i++) {
                JSONObject pos = data.getJSONObject(i);
                if (!instId.equals(pos.getString("instId"))) continue;
                String posInstId = pos.getString("instId");
                if (posInstId == null || !instId.equals(posInstId)) continue;
                String posSide = pos.getString("posSide");
                BigDecimal posSize = new BigDecimal(pos.getString("pos"));
                BigDecimal avgPx = new BigDecimal(pos.getString("avgPx"));
                String posStr = pos.getString("pos");
                String avgPxStr = pos.getString("avgPx");
                if (posStr == null || posStr.isEmpty() || avgPxStr == null || avgPxStr.isEmpty()) continue;
                BigDecimal posSize = new BigDecimal(posStr);
                BigDecimal avgPx = new BigDecimal(avgPxStr);
                log.info("[OKX-WS] 持仓更新, instId:{}, posSide:{}, pos:{}, avgPx:{}",
                        instId, posSide, posSize, avgPx);