okxNewPrice/
├── celue/ # 策略层
│ ├── CaoZuoService.java # 操作服务接口
│ └── CaoZuoServiceImpl.java # 操作服务实现
├── jiaoyi/ # 交易层
│ ├── IMQService.java # 消息队列服务接口
│ └── IMQServiceImpl.java # 消息队列服务实现
├── okxWs/ # OKX WebSocket 处理层
│ ├── enums/ # WebSocket 相关枚举
│ │ ├── CoinEnums.java # 币相关枚举
│ │ ├── ExchangeInfoEnum.java # 交易所信息枚举
│ │ └── OrderParamEnums.java # 订单参数枚举
│ ├── wanggeList/ # 网格列表相关
│ │ ├── WangGeListEnum.java # 网格枚举
│ │ ├── WangGeListQueue.java # 网格队列
│ │ ├── WangGeListService.java # 网格服务接口
│ │ └── WangGeListServiceImpl.java # 网格服务实现
│ ├── AccountWs.java # 账户信息处理
│ ├── BalanceAndPositionWs.java # 余额和持仓处理
│ ├── InstrumentsWs.java # 合约信息处理
│ ├── LoginWs.java # 登录处理
│ ├── OrderInfoWs.java # 订单信息处理
│ ├── PositionsWs.java # 持仓信息处理
│ └── TradeOrderWs.java # 交易订单处理
├── okxpi/ # OKX API 相关
│ ├── config/ # 配置相关
│ ├── enumerates/ # 枚举
│ ├── order/ # 订单相关
│ ├── query/ # 查询相关
│ ├── trade/ # 交易相关
│ ├── verify/ # 验证相关
│ └── ... # 其他API工具类
├── utils/ # 工具类
│ ├── FebsException.java # 异常类
│ ├── FebsResponse.java # 响应类
│ ├── SSLConfig.java # SSL配置
│ ├── SignUtils.java # 签名工具
│ ├── WsMapBuild.java # WebSocket Map构建工具
│ └── WsParamBuild.java # WebSocket 参数构建工具
├── wangge/ # 网格相关
│ ├── WangGeEnum.java # 网格枚举
│ ├── WangGeQueue.java # 网格队列
│ ├── WangGeService.java # 网格服务接口
│ └── WangGeServiceImpl.java # 网格服务实现
├── zhanghu/ # 账户相关
│ ├── ApiMessageServiceImpl.java # API消息服务实现
│ ├── IApiMessageService.java # API消息服务接口
│ └── ZhangHuEnum.java # 账户枚举
├── OkxNewPriceWebSocketClient.java # 价格WebSocket客户端
├── OkxQuantWebSocketClient.java # 量化WebSocket客户端
├── OkxWebSocketClientMain.java # WebSocket客户端主类
└── OkxWebSocketClientManager.java # WebSocket客户端管理器
init():初始化所有客户端destroy():销毁所有客户端getAllClients():获取所有量化客户端实例init():初始化客户端destroy():销毁客户端processPushData():处理价格推送数据triggerQuantOperations():触发所有账号的量化操作init():初始化客户端destroy():销毁客户端websocketLogin():登录 WebSocketsubscribeChannels():订阅相关频道caoZuo():主交易逻辑caoZuoLong():多头交易逻辑caoZuoShort():空头交易逻辑name:网格名称jiage_shangxian:价格上限jiage_xiaxian:价格下限jian_ju:网格间距fang_xiang:交易方向(long/short)getGridByPrice():根据价格获取对应的网格initAccountName():初始化带方向的账号名handleEvent():处理持仓数据推送getAccountMap():获取指定账号的持仓数据OkxWebSocketClientManager 自动初始化OkxNewPriceWebSocketClient 实例OkxQuantWebSocketClient 实例OkxNewPriceWebSocketClient 连接公共价格 WebSocketOkxQuantWebSocketClient 连接私有 WebSocket 并登录┌─────────────────────────┐ ┌─────────────────────────┐
│ OkxNewPriceWebSocketClient │ │ WangGeListEnum │
│ └─ processPushData() │────▶│ └─ getGridByPrice() │
└─────────────────────────┘ └─────────────────────────┘
▲ ▼
│ ┌─────────────────────────┐
│ │ CaoZuoServiceImpl │
│ │ └─ caoZuo() │
│ └─────────────────────────┘
│ ▼
│ ┌─────────────────────────┐
│ │ TradeOrderWs │
│ │ └─ orderEvent() │
│ └─────────────────────────┘
│ ▼
┌────────┴─────────────────────────────────────────────┐
│ OkxQuantWebSocketClient │
│ └─ handleWebSocketMessage() │
└──────────────────────────────────────────────────────┘
OkxNewPriceWebSocketClient 接收实时价格推送processPushData() 处理价格数据WangGeListEnum.getGridByPrice())CaoZuoServiceImpl.caoZuo() 进行策略决策TradeOrderWs.orderEvent() 执行交易订单OkxQuantWebSocketClient 发送订单指令OkxQuantWebSocketClient 接收持仓数据推送PositionsWs.handleEvent() 处理持仓数据accountName_posSide -> dataPositionsWs.getAccountMap() 获取持仓数据WangGeListEnum 定义多个价格区间的网格OkxQuantWebSocketClient 实例PositionsWs 的双层 Map 结构WangGeListEnum 硬编码配置okxNewPrice 包是一个完整的 OKX 量化交易系统,具有以下特点:
该系统实现了从价格获取、策略决策到订单执行的完整流程,为量化交易提供了稳定可靠的基础架构。