Administrator
3 hours ago ab8e75e1f309cde217cc3af684c62b9da4772595
src/main/java/com/xcong/excoin/modules/okxApi/OkxWebSocketClientManager.java
@@ -26,20 +26,23 @@
        try {
            config = OkxConfig.builder()
                    .apiKey("d90ca272391992b8e74f8f92cedb21ec")
                    .secretKey("1861e4f52de4bb53369ea3208d9ede38ece4777368030f96c77d27934c46c274")
                    .apiKey("ac76252d-e717-4459-a6f9-80512aed5ea0")
                    .secretKey("A8168543EF4F08A6DBFE27AB23956898")
                    .passphrase("Aa123123@")
                    .contract("BTC-USDT-SWAP")
                    .contract("ETH-USDT-SWAP")
                    .leverage("100")
                    .marginMode("cross")
                    .posMode("long_short_mode")
                    .gridRate(new BigDecimal("0.0015"))
                    .overallTp(new BigDecimal("5"))
                    .maxLoss(new BigDecimal("15"))
                    .overallTp(new BigDecimal("15"))
                    .maxLoss(new BigDecimal("20"))
                    .quantity("1")
                    .contractMultiplier(new BigDecimal("1"))
                    .contractMultiplier(new BigDecimal("0.1"))
                    .unrealizedPnlPriceMode(OkxConfig.PnLPriceMode.LAST_PRICE)
                    .isProduction(false)
                    .build();
            setupAccount();
            String accountName = "OKX_API";
            gridTradeService = new OkxGridTradeService(config, accountName);
@@ -85,6 +88,30 @@
        log.info("[管理器] 销毁完成");
    }
    private void setupAccount() {
        log.info("[管理器] 开始配置账户...");
        OkxRestClient restClient = new OkxRestClient(
                config.getRestBaseUrl(),
                config.getApiKey(),
                config.getSecretKey(),
                config.getPassphrase(),
                !config.isProduction());
        boolean posModeOk = restClient.setPositionMode(config.getPosMode());
        if (!posModeOk) {
            log.error("[管理器] 设置持仓方式失败,策略可能无法正常运作");
        }
        boolean leverOk = restClient.setLeverage(
                config.getContract(), config.getLeverage(), config.getMarginMode());
        if (!leverOk) {
            log.error("[管理器] 设置杠杆倍数失败,策略可能无法正常运作");
        }
        log.info("[管理器] 账户配置完成, posMode:{}, leverage:{}, marginMode:{}",
                config.getPosMode(), config.getLeverage(), config.getMarginMode());
    }
    public OkxKlineWebSocketClient getKlineWebSocketClient() { return wsKlineClient; }
    public OkxKlineWebSocketClient getPrivateWebSocketClient() { return wsPrivateClient; }
    public OkxGridTradeService getGridTradeService() { return gridTradeService; }