| | |
| | | |
| | | import com.xcong.excoin.modules.okxNewPrice.gridWs.OkxAlgoOrdersChannelHandler; |
| | | import com.xcong.excoin.modules.okxNewPrice.gridWs.OkxKlineChannelHandler; |
| | | import com.xcong.excoin.modules.okxNewPrice.gridWs.OkxOrdersChannelHandler; |
| | | import com.xcong.excoin.modules.okxNewPrice.gridWs.OkxPositionsChannelHandler; |
| | | import com.xcong.excoin.modules.okxNewPrice.okxpi.config.OKXAccount; |
| | | import com.xcong.excoin.modules.okxNewPrice.okxpi.config.enums.DefaultUrls; |
| | |
| | | gridTradeService.init(); |
| | | |
| | | // 4. 创建 WS 客户端并注册频道处理器 |
| | | // 公共 WS:candle1m(K线数据) |
| | | // 业务 WS(/v5/business):candle1m |
| | | gridWsClientPublic = new OkxGridWsClient(primaryAccount, true); |
| | | gridWsClientPublic.addChannelHandler(new OkxKlineChannelHandler(okxConfig.getInstId(), gridTradeService)); |
| | | gridWsClientPublic.init(); |
| | | |
| | | // 私有 WS:positions + orders-algo(持仓 + 条件单) |
| | | // 私有 WS(/v5/private):positions + orders(algo触发后订单fill带algoId可匹配) |
| | | gridWsClientPrivate = new OkxGridWsClient(primaryAccount, false); |
| | | gridWsClientPrivate.addChannelHandler(new OkxPositionsChannelHandler(okxConfig.getInstId(), gridTradeService)); |
| | | gridWsClientPrivate.addChannelHandler(new OkxAlgoOrdersChannelHandler(okxConfig.getInstId(), gridTradeService)); |
| | | gridWsClientPrivate.addChannelHandler(new OkxOrdersChannelHandler(okxConfig.getInstId(), gridTradeService)); |
| | | gridWsClientPrivate.init(); |
| | | |
| | | log.info("[OKX-Manager] WS已连接, 公共: candle1m, 私有: positions/orders-algo"); |
| | | log.info("[OKX-Manager] WS已连接, business: candle1m, private: positions/orders"); |
| | | |
| | | // 5. 激活策略,等待首根 K 线触发基底双开 |
| | | gridTradeService.startGrid(); |