Administrator
4 days ago 75836d48785da412552e67050e2332a74da2a435
fix(okx): 修复交易参数配置和网格策略

- 修复开仓张数计算逻辑,直接返回基础值而非倍数计算结果
- 恢复下单状态标识为"操作中",启用交易下单功能
- 启用实盘交易账户配置,禁用模拟盘测试账户
- 切换到实盘交易模式,启用真实交易连接
- 更新网格交易策略参数,调整价格区间和方向配置
5 files modified
44 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/enums/CoinEnums.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/enums/ExchangeInfoEnum.java 14 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListEnum.java 20 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java
@@ -114,7 +114,7 @@
    private static final String WS_URL_MONIPAN = "wss://wspap.okx.com:8443/ws/v5/public";
    private static final String WS_URL_SHIPAN = "wss://ws.okx.com:8443/ws/v5/public";
    private static final boolean isAccountType = false;
    private static final boolean isAccountType = true;
    /**
     * 建立与 OKX WebSocket 服务器的连接。
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
@@ -464,7 +464,8 @@
        BigDecimal divide = subtract.divide(new BigDecimal(buyCntTime), 0, RoundingMode.DOWN).add(BigDecimal.ONE);
        log.info("倍数次数{}", divide);
        String buyCntInit = InstrumentsWs.getAccountMap(accountName).get(CoinEnums.BUY_CNT_INIT.name());
        return String.valueOf(divide.multiply(new BigDecimal(buyCntInit)));
//        return String.valueOf(divide.multiply(new BigDecimal(buyCntInit)));
        return buyCntInit;
    }
    private String buyCntTimeShortEvent(String accountName, BigDecimal avgPx, BigDecimal markPx){
@@ -477,7 +478,8 @@
        BigDecimal divide = subtract.divide(new BigDecimal(buyCntTime), 0, RoundingMode.DOWN).add(BigDecimal.ONE);
        log.info("倍数次数{}", divide);
        String buyCntInit = InstrumentsWs.getAccountMap(accountName).get(CoinEnums.BUY_CNT_INIT.name());
        return String.valueOf(divide.multiply(new BigDecimal(buyCntInit)));
//        return String.valueOf(divide.multiply(new BigDecimal(buyCntInit)));
        return buyCntInit;
    }
    /**
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/enums/CoinEnums.java
@@ -54,7 +54,7 @@
    BUY_CNT_INIT("每次初始化开仓张数的基础值buyCntInit","0.1"),
    BUY_CNT_TIME("每次开仓张数的倍数基础值buyCntTime","20"),
//    OUT("是否允许下单out","操作中"),
    OUT("是否允许下单out","冷静中"),
    OUT("是否允许下单out","操作中"),
    CTVAL("合约面值ctVal","0.1"),
    CONTRACTMULTIPLIER("合约乘积ctVal","1"),
    TICKSZ("下单价格精度tickSz","2"),
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/enums/ExchangeInfoEnum.java
@@ -13,14 +13,14 @@
     * 模拟盘账户1信息
     * 存储了模拟盘交易所需的API密钥、秘钥和通过码
     */
//    OKX_PRD_xiao("f512673b-2685-4fcb-9bb1-2ae8db745d62",
//            "B0C1CC8F39625B41140D93DC25039E33",
//            "Aa12345678@",
//            true);
    OKX_UAT_ceshi("ffb4e79f-fcf5-4afb-82c5-2fbb64123f61",
            "AA06C5ED1D7C7F5AFE6484052E231C55",
    OKX_PRD_xiao("f512673b-2685-4fcb-9bb1-2ae8db745d62",
            "B0C1CC8F39625B41140D93DC25039E33",
            "Aa12345678@",
            false);
            true);
//    OKX_UAT_ceshi("ffb4e79f-fcf5-4afb-82c5-2fbb64123f61",
//            "AA06C5ED1D7C7F5AFE6484052E231C55",
//            "Aa12345678@",
//            false);
//
//    /**
//     * 模拟盘账户2信息
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListEnum.java
@@ -11,16 +11,16 @@
 */
@Getter
public enum WangGeListEnum {
//    UP_ONE("上层做空", "2", "3500", "3300", "4", "long", "3500"),
//    UP("上层做空", "2", "3300", "3000", "4", "short", "3300"),
//    CENTER("中间做空", "2", "3000", "2700", "4", "short", "3000"),
//    DOWN("下层做空", "2", "2700", "2200", "4", "short", "2700"),
//    DOWN_ONE("下层做多", "2", "2200", "1800", "4", "long", "1800");
    UP_ONE("上层做long", "2", "3450", "3400", "4", "long", "3380"),
    UP("上层做short", "2", "3400", "3350", "4", "short", "3420"),
    CENTER("中间做long", "2", "3350", "3300", "4", "long", "3280"),
    DOWN("下层做空", "2", "3300", "3250", "4", "short", "3320"),
    DOWN_ONE("下层做多", "2", "3250", "3200", "4", "long", "3180");
    UP_ONE("上层做空", "2", "3500", "3300", "4", "long", "3280"),
    UP("上层做空", "2", "3300", "3000", "4", "short", "3320"),
    CENTER("中间做空", "2", "3000", "2700", "4", "long", "2680"),
    DOWN("下层做空", "2", "2700", "2200", "4", "short", "2720"),
    DOWN_ONE("下层做多", "2", "2200", "1800", "4", "long", "1780");
//    UP_ONE("上层做long", "2", "3450", "3400", "4", "long", "3380"),
//    UP("上层做short", "2", "3400", "3350", "4", "short", "3420"),
//    CENTER("中间做long", "2", "3350", "3300", "4", "long", "3280"),
//    DOWN("下层做空", "2", "3300", "3250", "4", "short", "3320"),
//    DOWN_ONE("下层做多", "2", "3250", "3200", "4", "long", "3180");
    private String name;
    private String xiaoshu_weishu;