feat(coin): 添加ASTER币种支持
- 在CoinTypeConvert工具类中添加ASTER/USDT的类型转换映射
- 在OkxNewPriceWebSocketClientV2中添加ASTER-USDT和ASTER-USDT-SWAP的实例ID
- 在PricePriorityQueue中为ASTER币种创建对应的正序和倒序队列
- 在SymbolEnum枚举中添加ASTER币种定义
- 实现了ASTER币种的价格数据处理和队列管理功能
| | |
| | | ,SOL("SOL", "SOL/USDT") |
| | | ,DOGE("DOGE", "DOGE/USDT") |
| | | ,SUI("SUI", "SUI/USDT") |
| | | ,ASTER("ASTER", "ASTER/USDT") |
| | | |
| | | |
| | | ,LTC("LTC", "LTC/USDT") |
| | |
| | | |
| | | private static final String[] INST_IDS = { |
| | | "BTC-USDT", "ETH-USDT", "XRP-USDT", "LTC-USDT", "BCH-USDT", |
| | | "ETC-USDT", "BNB-USDT", "SOL-USDT", "DOGE-USDT", "SUI-USDT" |
| | | "ETC-USDT", "BNB-USDT", "SOL-USDT", "DOGE-USDT", "SUI-USDT", |
| | | "ASTER-USDT" |
| | | }; |
| | | //BTC-USDT-SWAP |
| | | private static final String[] INST_IDS_INTEREST = { |
| | | "BTC-USDT-SWAP", "ETH-USDT-SWAP", "XRP-USDT-SWAP", "LTC-USDT-SWAP", "BCH-USDT-SWAP", |
| | | "ETC-USDT-SWAP", "BNB-USDT-SWAP", "SOL-USDT-SWAP", "DOGE-USDT-SWAP", "SUI-USDT-SWAP" |
| | | "ETC-USDT-SWAP", "BNB-USDT-SWAP", "SOL-USDT-SWAP", "DOGE-USDT-SWAP", "SUI-USDT-SWAP", |
| | | "ASTER-USDT-SWAP" |
| | | }; |
| | | |
| | | /** |
| | |
| | | |
| | | private static Map<String, List<OrderModel>> SUI_MAP_ASC = null; |
| | | |
| | | /** |
| | | * ETC 倒序队列 头元素最大 开多止盈 开空止损 开空爆仓 限价开空 |
| | | */ |
| | | private static PriorityBlockingQueue<DescBigDecimal> ASTER_QUEUE_DESC = null; |
| | | |
| | | private static Map<String, List<OrderModel>> ASTER_MAP_DESC = null; |
| | | |
| | | /** |
| | | * ETC 正序队列 头元素最小 开多止损 开空止盈 开多爆仓 限价开多 |
| | | */ |
| | | private static PriorityBlockingQueue<AscBigDecimal> ASTER_QUEUE_ASC = null; |
| | | |
| | | private static Map<String, List<OrderModel>> ASTER_MAP_ASC = null; |
| | | |
| | | |
| | | // 收到消息队列的方法 即收取到新的止盈止损等 |
| | | // 【1:买入委托2:开多3:开空4:平多5:平空6:爆仓平多7:爆仓平空8:撤单9:止盈平多10:止盈平空11:止损平多12:止损平空】 |
| | |
| | | SUI_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>(); |
| | | } |
| | | return SUI_QUEUE_ASC; |
| | | case "ASTER/USDT": // 开多止损 开空止盈 开多爆仓 限价开多 |
| | | if (ASTER_QUEUE_ASC == null) { |
| | | ASTER_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>(); |
| | | } |
| | | return ASTER_QUEUE_ASC; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | SUI_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>(); |
| | | } |
| | | return SUI_QUEUE_DESC; |
| | | case "ASTER/USDT": // 开多止损 开空止盈 开多爆仓 限价开多 |
| | | if (ASTER_QUEUE_DESC == null) { |
| | | ASTER_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>(); |
| | | } |
| | | return ASTER_QUEUE_DESC; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | } |
| | | return SUI_MAP_DESC; |
| | | } |
| | | case "ASTER/USDT": // 开多止损 开空止盈 开多爆仓 限价开多 |
| | | if (type == 12 || type == 9 || type == 7 || type == 3 || type == 4) { |
| | | if (ASTER_MAP_ASC == null) { |
| | | ASTER_MAP_ASC = new ConcurrentHashMap<String,List<OrderModel>>(); |
| | | } |
| | | return ASTER_MAP_ASC; |
| | | } else { |
| | | if (ASTER_MAP_DESC == null) { |
| | | ASTER_MAP_DESC = new ConcurrentHashMap<String,List<OrderModel>>(); |
| | | } |
| | | return ASTER_MAP_DESC; |
| | | } |
| | | default: |
| | | break; |
| | | } |
| | |
| | | return "DOGE/USDT"; |
| | | case "suiusdt": |
| | | return "SUI/USDT"; |
| | | case "asterusdt": |
| | | return "ASTER/USDT"; |
| | | default: |
| | | return null; |
| | | } |
| | |
| | | return "DOGE_NEW_PRICE"; |
| | | case "SUI/USDT": |
| | | return "SUI_NEW_PRICE"; |
| | | case "ASTER/USDT": |
| | | return "ASTER_NEW_PRICE"; |
| | | default: |
| | | return null; |
| | | } |
| | |
| | | return "DOGE-USDT"; |
| | | case "SUI/USDT": |
| | | return "SUI-USDT"; |
| | | case "ASTER/USDT": |
| | | return "ASTER-USDT"; |
| | | default: |
| | | return null; |
| | | } |
| | |
| | | return "DOGE-USDT-SWAP"; |
| | | case "SUI/USDT": |
| | | return "SUI-USDT-SWAP"; |
| | | case "ASTER/USDT": |
| | | return "ASTER-USDT-SWAP"; |
| | | default: |
| | | return null; |
| | | } |
| | |
| | | return "open:DOGE_NEW_PRICE"; |
| | | case "SUI/USDT": |
| | | return "open:SUI_NEW_PRICE"; |
| | | case "ASTER/USDT": |
| | | return "open:ASTER_NEW_PRICE"; |
| | | default: |
| | | return null; |
| | | } |
| | |
| | | return "volume:PRICE_DOGEUSDTSWAP"; |
| | | case "SUI/USDT": |
| | | return "volume:PRICE_SUIUSDTSWAP"; |
| | | case "ASTER/USDT": |
| | | return "volume:PRICE_ASTERUSDTSWAP"; |
| | | default: |
| | | return null; |
| | | } |